Mempool: Improve mempool's concurrency#7145
Conversation
...while starting to decouple CTxMemPool from CBlockPolicyEstimator
a0e32fc to
cfbe702
Compare
|
@jtimon any reason for close? |
|
It is incomplete and I know from past experience that it will be very expensive to maintain if not merged fast. |
|
No worries 👍, thanks for the response. Indeed bitcoin/bitcoin is fast moving lately. |
This improves concurrency by not locking CTxMemPool every time CBlockPolicyEstimator is used (although as said this is incomplete and the concurrency improvements can be continued), so it may have a positive impact on performance. But I haven't done any benchmark or test.
My original plan was to do this at once while encapsulating the global minRelayTxFee, but relay policy encapsulation is not welcomed at this point and now it would be more disruptive to completely decouple CTxMemPool from CBlockPolicyEstimator than it used to be when first coded this many months ago.
We can take the first steps instead of waiting to do it at once, and that would hopefully prevent the code from evolving to something where is even harder to make this happen.
Although @morcos thinks that CBlockPolicyEstimator should depend on CTxMemPool and I disagree on that, we both agree that CTxMemPool should not depend on CBlockPolicyEstimator. This PR reduces CTxMemPool's dependency on CBlockPolicyEstimator.