Browse Source

Merge #12187: [Docs] Updating benchmarkmarking.md with an updated sample output

b21244e0be Updating benchmarkmarking.md with an updated sample output and help options (Jeff Rade)

Pull request description:

  This PR is just a documentation update for someone (or myself) that looks into finishing up #7883 in the future.

  Looked through #7883 and appears [ryanofsky's PR](https://github.com/bitcoin/bitcoin/pull/8873) setup the benchmarks, but there are `FIXME` comments to pull in data from `test/` to get a larger data set (assuming reason why 7883 is still open).

Tree-SHA512: d758efc659c75f2b3ceb376f5a466c4234354077e4671ac3eb901c082c4e519ce5ff592cea4742711050b4ce56a1b65ef69433dd74e7db3eb11a8567d517d9e2
0.16
MarcoFalke 7 years ago
parent
commit
b5e4b9b510
No known key found for this signature in database
GPG Key ID: D2EA4850E7528B25
  1. 49
      doc/benchmarking.md

49
doc/benchmarking.md

@ -4,24 +4,49 @@ Benchmarking
Bitcoin Core has an internal benchmarking framework, with benchmarks Bitcoin Core has an internal benchmarking framework, with benchmarks
for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter. for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter.
Running
---------------------
After compiling bitcoin-core, the benchmarks can be run with: After compiling bitcoin-core, the benchmarks can be run with:
`src/bench/bench_bitcoin`
src/bench/bench_bitcoin
The output will look similar to: The output will look similar to:
``` ```
#Benchmark,count,min,max,average # Benchmark, evals, iterations, total, min, max, median
RIPEMD160,448,0.001245033173334,0.002638196945190,0.002461894814457 Base58CheckEncode, 5, 320000, 120.772, 7.49351e-05, 7.59374e-05, 7.54759e-05
RollingBloom-refresh,1,0.000635000000000,0.000635000000000,0.000635000000000 Base58Decode, 5, 800000, 122.833, 3.0467e-05, 3.11732e-05, 3.06304e-05
RollingBloom-refresh,1,0.000108000000000,0.000108000000000,0.000108000000000 Base58Encode, 5, 470000, 137.094, 5.81061e-05, 5.85109e-05, 5.84462e-05
RollingBloom-refresh,1,0.000107000000000,0.000107000000000,0.000107000000000 BenchLockedPool, 5, 530, 34.2023, 0.0128247, 0.0129613, 0.0129026
RollingBloom-refresh,1,0.000204000000000,0.000204000000000,0.000204000000000 CCheckQueueSpeedPrevectorJob, 5, 1400, 26.1762, 0.00365048, 0.00388629, 0.00367108
SHA1,640,0.000909024336207,0.001938136418660,0.001843086257577 CCoinsCaching, 5, 170000, 48.1074, 5.60229e-05, 5.72316e-05, 5.66214e-05
SHA256,256,0.002209486499909,0.008500099182129,0.004300644621253 CoinSelection, 5, 650, 34.6426, 0.0105801, 0.0107699, 0.010664
SHA512,384,0.001319904176016,0.002813005447388,0.002615700786312 DeserializeAndCheckBlockTest, 5, 160, 39.2084, 0.0483662, 0.0494199, 0.0490138
Sleep100ms,10,0.205592155456543,0.210056066513062,0.104166316986084 DeserializeBlockTest, 5, 130, 23.8129, 0.0357731, 0.0373763, 0.0365858
Trig,67108864,0.000000014997003,0.000000015448112,0.000000015188842 FastRandom_1bit, 5, 440000000, 38.1609, 1.72974e-08, 1.73882e-08, 1.73478e-08
FastRandom_32bit, 5, 110000000, 72.8237, 1.29992e-07, 1.37014e-07, 1.30115e-07
MempoolEviction, 5, 41000, 89.8883, 0.000432748, 0.000446857, 0.000438483
PrevectorClear, 5, 5600, 47.9229, 0.00169952, 0.0017455, 0.00170315
PrevectorDestructor, 5, 5700, 44.5498, 0.0015561, 0.00156977, 0.00156469
RIPEMD160, 5, 440, 135.988, 0.0615496, 0.062268, 0.0617779
RollingBloom, 5, 1500000, 36.5109, 4.80961e-06, 4.97463e-06, 4.85811e-06
SHA1, 5, 570, 51.808, 0.018065, 0.0182623, 0.0181865
SHA256, 5, 340, 8.31841, 0.00483231, 0.00499803, 0.00485486
SHA256_32b, 5, 4700000, 10.469, 4.43441e-07, 4.47611e-07, 4.45223e-07
SHA512, 5, 330, 33.3408, 0.02017, 0.0202554, 0.0201921
SipHash_32b, 5, 40000000, 38.7088, 1.91103e-07, 1.96998e-07, 1.93792e-07
Sleep100ms, 5, 10, 5.01062, 0.100131, 0.100368, 0.100147
Trig, 5, 12000000, 5.95494, 9.78115e-08, 1.04354e-07, 9.80682e-08
VerifyScriptBench, 5, 6300, 9.02493, 0.000285566, 0.000288433, 0.000286175
``` ```
Help
---------------------
`-?` will print a list of options and exit:
src/bench/bench_bitcoin -?
Notes
---------------------
More benchmarks are needed for, in no particular order: More benchmarks are needed for, in no particular order:
- Script Validation - Script Validation
- CCoinDBView caching - CCoinDBView caching

Loading…
Cancel
Save