[DRAFT] 10x improvement to pop_blocks
operation with flag denoting txis are already verified
#9148
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.
Add
already_verified
flag to add transaction operation of thetxpool
. This is very useful when we are popping block, andtxis
are already verified in that situation, which prevents verifying transactions again.Numbers on my machine:
popping 500 blocks:
master
branch ~50 seconds, with this PR ~6 seconds.popping 2000 blocks:
master
branch ~210 seconds, with this PR ~29 seconds.Profiling information of
monerod
onmaster
branch. As you can see, 80-90% of computation is happening incheck_tx_inputs
function. The profiling output is attached to this message.monerod-master-branch-pop_blocks-profile.pdf