-
Notifications
You must be signed in to change notification settings - Fork 45
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
Add full block data for testing and benchmarking #263
Conversation
Note I didn't use |
2e2d96b
to
4fa51e5
Compare
This is very interesting. One block that might be useful to test too: mempool.space. It contains one transaction with 19k inputs. Super expensive to check |
4fa51e5
to
fa2aa41
Compare
Added! I have made the test for block Also the benchmark takes a lot of time because we need to get at least 10 samples of execution. I thought the best way to deal with this is by skipping this bench by default when running |
I dont think thats bad enough to take out from the default benchmark battery... its not like we are going to use this every time that we develop anything. Maybe we could trigger this every commit to |
So the rationale is that if you’re benchmarking different versions of your code, you usually want quick feedback. Keeping a >10 min bench in the default run can really add up and may not even be relevant for a general performance picture (especially given this is a corner case). And if it is important, a dev can just set |
as you wish, broda. |
LGTM.
I think it would be nice to have this documented, likely in the readme. |
fa2aa41
to
e5e211c
Compare
- Added the blocks 866,342 and 367,891 to `testdata`, as well as the spent UTXOs in each block - `get_validation_flags` doesn't need to ask the chainstore for the block hash - Changed the name of the inner `validate_block` to `validate_block_no_acc` - Update README.md
e5e211c
to
ac37630
Compare
Rebased and updated |
ACK ac37630 |
testdata
, as well as the spent UTXOsget_validation_flags
doesn't need to ask the chainstore for the block hashvalidate_block
tovalidate_block_no_acc
(this way we can clearly distinguish it fromBlockchainInterface::validate_block
)This test data provides fast and meaningful insights into block validation performance and correctness. The block includes a transaction with a 60kb inscription.
UPDATE: I have compressed the two files with
zstd
, reducing the size of the raw block from 1.6MB to 1MB, and the size of the spent UTXOs file from 800KB to just 80KB. The diff is now clean, only reflecting the fairly small code change.This relates to #260 and #262.