-
Notifications
You must be signed in to change notification settings - Fork 38.7k
bench: replace embedded raw block with configurable block generator #32554
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
base: master
Are you sure you want to change the base?
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32554. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please copy-paste ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
|
Concept ACK |
|
Concept ACK This one is pretty useful as I can test with up-to date test_data. |
|
Concept ACK for more realistic benchmarks |
Remove the bundled `block413567.raw` fixture and replace with runtime block generation via `bench/block_generator.{h,cpp}`.
Expose `GetBlock()`/`GetBlockData()` with `ScriptRecipe` presets (`kLegacy`, `kWitness`) and deterministic seeding for reproducible benchmarks.
a1f706b to
0fbbefd
Compare
|
Rebased and applied the new block everywhere, removing the binary of block 413567 embedded in the benchmarks. |
Problem
The hardcoded benchmark block 413567 has several issues:
Fix
Added configurable
bench/block_generator.{h,cpp}that builds fully valid blocks at runtime providing blocks or raw serialized stream.Note that
HexStrBenchwas simplified to work with random data - it doesn't need to be block-related.This supersedes #32457 by eliminating the need for any hardcoded block data while enabling flexible benchmark scenarios.