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.
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
[WIP] Cluster mempool implementation #28676
base: master
Are you sure you want to change the base?
[WIP] Cluster mempool implementation #28676
Changes from all commits
fc331fb
8e53828
923ae0a
dc8f3a8
66a72b4
4778971
01b148f
72731e0
0f78393
917952d
04e8acd
be6bf4d
9b75c1f
acd2e12
4407d70
81a1873
7cc6e80
9730c4c
d36db77
acdad95
59caf38
4610706
ba1030a
02e8648
644949d
392f5e0
113ef57
d5dfc7a
6d2d662
492d3b3
c57b96d
4e60ada
6b7474c
ac467d5
9e3ee4d
944b402
6f47ef2
e6775bd
4c0c429
ec7e0a4
f6482a6
fa7a146
23e8167
70f21d4
05bef2b
958e7e9
02f2661
4da6979
1792fc3
91f7d10
bf37a8b
0515a60
d6defcf
5c4f01f
240f5b4
aaf45b5
af45c12
0fa99a8
668399b
11258a8
998ef3a
afbcce4
facaa08
3a5650c
f96104b
e8b3db0
0f558e3
b10940f
0303d8f
8c4ec6c
f3482ed
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bf467f8: history can be expanded:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
numbers in comments are off
shower thought: Should we/can we bound the number of clusters in addition to total memory in TrimToSize? I can't think of a good way to do that that doesn't complicate things quite a bit, and perhaps practical mempool sizes make this moot. Just something to consider in case I missed something obvious.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The immediate downside to a cap on number of clusters is that singleton, high-feerate transactions would not be accepted. And I don't think we need to -- the only places where having more clusters makes us slower is in eviction and mining, and for both of those use cases we could improve performance (if we need to) by maintaining the relevant heap data structures (or something equivalent) as chunks are modified, rather than all at once.
For now in this branch I've created these from scratch each time, but if it turns out that performance is meaningfully impacted when the mempool is busy, then I can optimize this further by just using a bit more memory.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dd6684a: While you're touching this, can you rename
MempoolCheck
toMemPoolCheck
,MempoolEviction
toMemPoolEviction
andComplexMemPool
toMempoolComplex
? That makes-filter=MemPool.*
workAs a workaround,
-filter=.*Mem.*
does work.