-
Notifications
You must be signed in to change notification settings - Fork 2.5k
[WIP, RFC] Problem: lot of use of dynamic memory allocation, leading to performance degradation and non-determism #3911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
mjvankampen
wants to merge
58
commits into
zeromq:master
Choose a base branch
from
mjvankampen:memorypool
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 45 commits
Commits
Show all changes
58 commits
Select commit
Hold shift + click to select a range
4f84758
Implement a very simple zero-lock message pool to test performance gains
f18m ea0dc06
Merge branch 'master' of https://github.com/f18m/libzmq.git
f18m a24f2af
Allow to choose message sizes as well
f18m 1bd2ae1
Allow using env variables to do some basic overriding
f18m 252e8d4
fix typo
f18m 4a30795
add TCP kernel socket buffer setting
f18m 577232e
Merge remote-tracking branch 'upstream/master'
f18m ff8d79f
Merge remote-tracking branch 'upstream/master'
f18m 00e514e
First implementation of global memory pool for ZMQ
f18m 18c52c4
Remove changes related to graph generation
f18m a720a31
allow testing up to 8k msg sizes
f18m b9e1f01
correctly deallocate memory pool blocks
f18m 1649701
fix build with no draft API
f18m 0baafa4
never use allocator for VSM
f18m 59cbfac
Merge branch 'master' of https://github.com/zeromq/libzmq into memory…
f0a7a7f
Fixes cmake build
f682600
Changes to base class with virtuals
3a3d877
Makes max message size dynamic
b416348
Dynamically grows mempool
cfd4c85
Updates dynamic global pool
1dd2304
Removes unnecessary class
d06f868
Adds new files to makefile
cfa228b
Adds concurrentqueue to sources
d96d616
Fixes some warnings
caf7798
Adds includes
5fbc4cc
Makes initial number of messages a bit more dynamic
d2c53c5
Hides global allocator implementation and option when C++11 not avail…
348865f
Fixes msvc __cplusplus reporting
59c6a6c
Improves <C++11 support
1f5abc1
Fixes missing declaration
2c29abc
Adds more c++11 guards
d7f9452
Adds test and moves queue to external
1450beb
Merge branch 'master' of https://github.com/zeromq/libzmq into memory…
f4973dc
Fixes bad path
3b9ec2f
Fixes bad path
a260668
Fixes formatting
7dafdf7
Adds destroy to test
a3bfc67
Fixes wrong increment
cd90418
Fixes bad c+11
a575335
Adds a basic concurrent queue
74dd371
Removes some debug code
e9c3a01
Adds newline and nullptr
aaa10dd
Adds a start on function pointer interface
77293ab
Adds missing free
1309316
Cleans up some includes
d666af8
Fixes bad options
73807f8
Moves to draft
ffcede1
Fixes formatting
312f8c3
Updates copyright years
bf495f8
Switches to new/delete
61870a4
Switches to alternative log2
c13f837
More copyright years
ea9c5dc
Fixes more formatting
20f49ec
Fixes more bad years
ba05e8f
Fixes some concurrency issues and bugs
afb858d
Merge branch 'master' into memorypool
32d827d
Adds destroy fn
84b4f8f
Adds destroy
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.