-
Notifications
You must be signed in to change notification settings - Fork 2k
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
create_block_generator
refactor
#19207
Open
arvidn
wants to merge
4
commits into
main
Choose a base branch
from
create_block_generator
base: main
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.
Open
+161
−55
Conversation
This file contains 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
arvidn
force-pushed
the
create_block_generator
branch
from
February 5, 2025 10:19
f4c2342
to
6909222
Compare
arvidn
added
the
Changed
Required label for PR that categorizes merge commit message as "Changed" for changelog
label
Feb 5, 2025
arvidn
force-pushed
the
create_block_generator
branch
from
February 5, 2025 10:44
6909222
to
3d9f473
Compare
AmineKhaldi
reviewed
Feb 5, 2025
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.
Looks good, left some suggestions.
arvidn
force-pushed
the
create_block_generator
branch
from
February 5, 2025 14:03
3d9f473
to
f225f82
Compare
AmineKhaldi
approved these changes
Feb 5, 2025
arvidn
force-pushed
the
create_block_generator
branch
from
February 10, 2025 15:08
f225f82
to
b3541df
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Changed
Required label for PR that categorizes merge commit message as "Changed" for changelog
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.
This PR is best reviewed one commit at a time.
Purpose:
Change the mempool interface to create a block generator, rather than a large spend bundle (to then be turned into a block generator)
The main reason for this is to prepare for changing the implementation of the block generator creation to use an incrementally compressed block creator, to fill block more effectively.
It has some other benefits I think:
full_node_api
, and probably requires a full simulation environment.The first commit is only tangentially related, and simplifies the function interface related to mempool item inclusion.
Current Behavior:
The mempool has a method:
create_bundle_from_mempool_items()
New Behavior:
The mempool has a method:
create_block_generator
benchmarks
This is not expected to affect performance, but the new function combines picking transactions and serializing the block, so it will take longer than just picking the transactions. The benchmarks are now:
Serializing the block with compression is especially expensive:
before:
after: