mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 11:32:46 +01:00
Merge #16536: doc: Update and extend benchmarking.md
05fdb97df46d0a0675b93e9791bd5d498e5e5117 [doc] Update and extend benchmarking.md (Antoine Riard) Pull request description: Trying to make benchmarking docs a bit more friendly. If you have any more ideas, specially on the Notes section, which component need more benchmarks. (oh isn't a write-up somewhere to generate flame graphs for core ?) ACKs for top commit: jonatack: ACK 05fdb97df46d0a0675b93e9791bd5d498e5e5117 fanquake: ACK 05fdb97df46d0a0675b93e9791bd5d498e5e5117 - with the single nit. Tree-SHA512: 1d31438065cab12b43b0227c1c774b412ac3d9d46d4cbe69cfe753424a81e51839777e815c70880da8ae6c8fb95221dc7559334eeb550221e8a76fb20a370f75
This commit is contained in:
parent
517021c93d
commit
ef78dbce53
@ -2,10 +2,17 @@ Benchmarking
|
||||
============
|
||||
|
||||
Dash Core has an internal benchmarking framework, with benchmarks
|
||||
for cryptographic algorithms (e.g. SHA1, SHA256, SHA512, RIPEMD160), as well as the rolling bloom filter.
|
||||
for cryptographic algorithms (e.g. SHA1, SHA256, SHA512, RIPEMD160, Poly1305, ChaCha20), rolling bloom filter, coins selection,
|
||||
thread queue, wallet balance.
|
||||
|
||||
Running
|
||||
---------------------
|
||||
|
||||
For benchmarks purposes you only need to compile `dash_bench`. Beware of configuring without `--enable-debug` as this would impact
|
||||
benchmarking by unlatching log printers and lock analysis.
|
||||
|
||||
make -C src bench_dash
|
||||
|
||||
After compiling Dash Core, the benchmarks can be run with:
|
||||
|
||||
src/bench/bench_dash
|
||||
@ -21,15 +28,23 @@ The output will look similar to:
|
||||
|
||||
Help
|
||||
---------------------
|
||||
`-?` will print a list of options and exit:
|
||||
|
||||
src/bench/bench_dash -?
|
||||
src/bench/bench_dash --help
|
||||
|
||||
To print options like scaling factor or per-benchmark filter.
|
||||
|
||||
Notes
|
||||
---------------------
|
||||
More benchmarks are needed for, in no particular order:
|
||||
- Script Validation
|
||||
- CCoinDBView caching
|
||||
- Coins database
|
||||
- Memory pool
|
||||
- Wallet coin selection
|
||||
- Cuckoo Cache
|
||||
- P2P throughput
|
||||
|
||||
Going Further
|
||||
--------------------
|
||||
|
||||
To monitor Bitcoin Core performance more in depth (like reindex or IBD): https://github.com/chaincodelabs/bitcoinperf
|
||||
|
||||
To generate Flame Graphs for Bitcoin Core: https://github.com/eklitzke/bitcoin/blob/flamegraphs/doc/flamegraphs.md
|
||||
|
Loading…
Reference in New Issue
Block a user