-
Notifications
You must be signed in to change notification settings - Fork 37.7k
bench: Add block assemble benchmark #13219
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
Merged
Merged
Conversation
This file contains hidden or 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
faa3c5f
to
faf173d
Compare
fa356f5
to
fa23b6e
Compare
Concept ACK |
Very nice! Concept ACK |
Can be tested with e.g. #13011 applied
|
Might be an interesting benchmark to literally dump mempool (+utxo set subset needed to validate them) from some snapshot in time where we have a nontrivial one into a blob and use that to benchmark against. Either that or in some way more realistic mempool makeup then just 100 homogeneous transactions.
…On May 11, 2018 8:04:13 PM UTC, MarcoFalke ***@***.***> wrote:
You can view, comment on, or merge this pull request online at:
#13219
-- Commit Summary --
* bench: Add block assemble benchmark
-- File Changes --
M src/Makefile.bench.include (1)
A src/bench/block_assemble.cpp (115)
-- Patch Links --
https://github.com/bitcoin/bitcoin/pull/13219.patch
https://github.com/bitcoin/bitcoin/pull/13219.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
#13219
|
71344a7
to
adf7c46
Compare
adf7c46
to
fa0fc1b
Compare
Concept ACK. |
conscott
reviewed
May 14, 2018
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.
Tested ACK fa0fc1b
utACK fa0fc1b Code looks good. We need more benches like this. |
utACK fa0fc1b |
laanwj
added a commit
that referenced
this pull request
Jun 24, 2018
fa0fc1b bench: Add block assemble benchmark (MarcoFalke) Pull request description: Tree-SHA512: 614da28020b76154f4cb17752df226466d2d7da7a81f31812e10ca5b94987c7f5abab62b2f45a3a958663bd8cbf2191f3f23e497215196ad7a775f0ea8fb6116
laanwj
added a commit
to laanwj/bitcoin
that referenced
this pull request
Jun 24, 2018
Fix a build error introduced in bitcoin#13219. ``` .../bitcoin/src/bench/block_assemble.cpp:42:13:error: use of undeclared identifier 'CheckProofOfWork' while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) { ```
laanwj
added a commit
that referenced
this pull request
Jun 24, 2018
cec84c2 bench: Add missing pow.h header (Wladimir J. van der Laan) Pull request description: Fix a build error introduced in #13219. ``` .../bitcoin/src/bench/block_assemble.cpp:42:13:error: use of undeclared identifier 'CheckProofOfWork' while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) { ``` Tree-SHA512: 6ef78011fd7bd82859530b2676ba533b15db6c753cb84a1286b7e26ed6f3d2064769e42900b2479fe6c460411f742e2baed716db5eac06d3bc455e08c290a087
stamhe
pushed a commit
to stamhe/bitcoin
that referenced
this pull request
Jun 27, 2018
Fix a build error introduced in bitcoin#13219. ``` .../bitcoin/src/bench/block_assemble.cpp:42:13:error: use of undeclared identifier 'CheckProofOfWork' while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) { ```
Longyan-Wu
pushed a commit
to Longyan-Wu/bitcoin
that referenced
this pull request
Jul 1, 2018
Fix a build error introduced in bitcoin#13219. ``` .../bitcoin/src/bench/block_assemble.cpp:42:13:error: use of undeclared identifier 'CheckProofOfWork' while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) { ```
maflcko
pushed a commit
that referenced
this pull request
Jul 30, 2018
6f53edb Acquire cs_main before ATMP call in block_assemble bench (James O'Beirne) Pull request description: Calling `bench_bitcoin` currently fails due to calling ATMP without acquiring cs_main first in the recently added block_assemble bench (#13219). ``` $ cat <(uname -a) <(gcc --version) Linux james 4.4.0-119-generic #143+jamesob SMP Mon Apr 16 21:47:24 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 $ ./src/bench/bench_bitcoin WARNING: This is a debug build - may result in slower benchmarks. # Benchmark, evals, iterations, total, min, max, median Assertion failed: lock cs_main not held in validation.cpp:566; locks held: [1] 19323 abort (core dumped) ./src/bench/bench_bitcoin ``` ``` (gdb) bt #0 0x00007fbdc9cf5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007fbdc9cf702a in __GI_abort () at abort.c:89 #2 0x0000555a19580dc5 in AssertLockHeldInternal (pszName=pszName@entry=0x555a19834549 "cs_main", pszFile=pszFile@entry=0x555a1988a001 "validation.cpp", nLine=nLine@entry=566, cs=cs@entry=0x555a19ba55c0 <cs_main>) at sync.cpp:157 #3 0x0000555a194b395f in AcceptToMemoryPoolWorker (chainparams=..., pool=..., state=..., ptx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=1532964079, plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=@0x7ffcbc1719d8: 0, coins_to_uncache=std::vector of length 0, capacity 0, test_accept=false) at validation.cpp:566 #4 0x0000555a194ba661 in AcceptToMemoryPoolWithTime (chainparams=..., pool=..., state=..., tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=<optimized out>, plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=0, test_accept=false) at validation.cpp:998 #5 0x0000555a194ba7ce in AcceptToMemoryPool (pool=..., state=..., tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, plTxnReplaced=plTxnReplaced@entry=0x0, bypass_limits=bypass_limits@entry=false, nAbsurdFee=0, test_accept=false) at validation.cpp:1014 #6 0x0000555a19363fbe in AssembleBlock (state=...) at bench/block_assemble.cpp:102 #7 0x0000555a193654d3 in std::_Function_handler<void (benchmark::State&), void (*)(benchmark::State&)>::_M_invoke(std::_Any_data const&, benchmark::State&) (__functor=..., __args#0=...) at /usr/include/c++/5/functional:1871 #8 0x0000555a193501d7 in std::function<void (benchmark::State&)>::operator()(benchmark::State&) const (this=this@entry=0x555a1ba2cda0, __args#0=...) at /usr/include/c++/5/functional:2267 #9 0x0000555a1934ec4c in benchmark::BenchRunner::RunAll (printer=..., num_evals=5, scaling=<optimized out>, filter=..., is_list_only=false) at bench/bench.cpp:121 #10 0x0000555a1934ade9 in main (argc=<optimized out>, argv=<optimized out>) at bench/bench_bitcoin.cpp:92 ``` Tree-SHA512: fdd7b28ff123ccea7a4f334d53f735d0c0f94aa9cc52520c2dd34dca45d78c691af64efcd32366fc472fedffbd79591d2be2bb3bfc4a5186e8712b6b452d64e3
HashUnlimited
pushed a commit
to HashUnlimited/chaincoin
that referenced
this pull request
Sep 11, 2018
Fix a build error introduced in bitcoin#13219. ``` .../bitcoin/src/bench/block_assemble.cpp:42:13:error: use of undeclared identifier 'CheckProofOfWork' while (!CheckProofOfWork(block->GetHash(), block->nBits, Params().GetConsensus())) { ```
deadalnix
pushed a commit
to Bitcoin-ABC/bitcoin-abc
that referenced
this pull request
Apr 27, 2020
Summary: This is a backport of Core [[bitcoin/bitcoin#13219 | PR13219]] and [[bitcoin/bitcoin#13806 | PR13806]] . Due to many backport being done out of oder or improperly, this contains elements of [[bitcoin/bitcoin#15413 | PR15413]] and [[bitcoin/bitcoin#15788 | PR15788]] Test Plan: make check ./src/bench/bench_bitcoin Check that the new benchmark is run. Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Subscribers: Fabien Differential Revision: https://reviews.bitcoinabc.org/D5848
ftrader
pushed a commit
to bitcoin-cash-node/bitcoin-cash-node
that referenced
this pull request
Aug 17, 2020
Summary: This is a backport of Core [[bitcoin/bitcoin#13219 | PR13219]] and [[bitcoin/bitcoin#13806 | PR13806]] . Due to many backport being done out of oder or improperly, this contains elements of [[bitcoin/bitcoin#15413 | PR15413]] and [[bitcoin/bitcoin#15788 | PR15788]] Test Plan: make check ./src/bench/bench_bitcoin Check that the new benchmark is run. Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Subscribers: Fabien Differential Revision: https://reviews.bitcoinabc.org/D5848
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
No description provided.