aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2021-07-05 08:47:10 +0800
committerfanquake <fanquake@gmail.com>2021-07-05 08:47:36 +0800
commitc609e10545492aba480ff17aff7eefc13a0b5cd8 (patch)
tree21640a6539178aa1234483e9f75b458b042af881 /doc
parent7a49fdc58115845ece3a9890bf9498bee6b559de (diff)
parentd8513fe41102dcbfc05235f3b95e33eb1878f880 (diff)
downloadbitcoin-c609e10545492aba480ff17aff7eefc13a0b5cd8.tar.xz
Merge bitcoin/bitcoin#22292: bench, doc: benchmarking updates and fixups
d8513fe41102dcbfc05235f3b95e33eb1878f880 doc: update doc/benchmarking.md (Jon Atack) 84e2d5b78181d08b258c77f9c9c4e1bb7fdaa451 bench: bench_bitcoin.cpp help fixups (Jon Atack) 10f4ce20783cbbcb0c0997c605452d9e60827e6d bench: bench.h fixes and improvements (Jon Atack) Pull request description: Fixups and updates I noticed while writing benchmarks for #22284. ACKs for top commit: za-kk: ACK d8513fe41102dcbfc05235f3b95e33eb1878f880 theStack: ACK d8513fe41102dcbfc05235f3b95e33eb1878f880 🚤 Tree-SHA512: d494956b5d6a3329e98e8b6f4405a10613b8fce51a04bbf4493d8b3497b8d5b177c1a9a3eeb828796eb4edb92b0ace769595151e223671c0dc8f09bcf631ebb5
Diffstat (limited to 'doc')
-rw-r--r--doc/benchmarking.md27
1 files changed, 19 insertions, 8 deletions
diff --git a/doc/benchmarking.md b/doc/benchmarking.md
index b6cd86eafe..84d5f2c444 100644
--- a/doc/benchmarking.md
+++ b/doc/benchmarking.md
@@ -8,8 +8,10 @@ thread queue, wallet balance.
Running
---------------------
-For benchmarks purposes you only need to compile `bitcoin_bench`. Beware of configuring without `--enable-debug` as this would impact
-benchmarking by unlatching log printers and lock analysis.
+For benchmarking, you only need to compile `bitcoin_bench`. The bench runner
+warns if you configure with `--enable-debug`, but consider if building without
+it will impact the benchmark(s) you are interested in by unlatching log printers
+and lock analysis.
make -C src bitcoin_bench
@@ -19,19 +21,28 @@ After compiling bitcoin-core, the benchmarks can be run with:
The output will look similar to:
```
-| ns/byte | byte/s | error % | benchmark
-|--------------------:|--------------------:|--------:|:----------------------------------------------
-| 64.13 | 15,592,356.01 | 0.1% | `Base58CheckEncode`
-| 24.56 | 40,722,672.68 | 0.2% | `Base58Decode`
+| ns/op | op/s | err% | total | benchmark
+|--------------------:|--------------------:|--------:|----------:|:----------
+| 57,927,463.00 | 17.26 | 3.6% | 0.66 | `AddrManAdd`
+| 677,816.00 | 1,475.33 | 4.9% | 0.01 | `AddrManGetAddr`
+
+...
+
+| ns/byte | byte/s | err% | total | benchmark
+|--------------------:|--------------------:|--------:|----------:|:----------
+| 127.32 | 7,854,302.69 | 0.3% | 0.00 | `Base58CheckEncode`
+| 31.95 | 31,303,226.99 | 0.2% | 0.00 | `Base58Decode`
+
...
```
Help
---------------------
- src/bench/bench_bitcoin --help
+ src/bench/bench_bitcoin -?
-To print options like scaling factor or per-benchmark filter.
+To print the various options, like listing the benchmarks without running them
+or using a regex filter to only run certain benchmarks.
Notes
---------------------