|
| 1 | +Benchmarking |
| 2 | +============ |
| 3 | + |
| 4 | +Bitcoin Core has an internal benchmarking framework, with benchmarks |
| 5 | +for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter. |
| 6 | + |
| 7 | +After compiling bitcoin-core, the benchmarks can be run with: |
| 8 | +`src/bench/bench_bitcoin` |
| 9 | + |
| 10 | +The output will look similar to: |
| 11 | +``` |
| 12 | +#Benchmark,count,min,max,average |
| 13 | +RIPEMD160,448,0.001245033173334,0.002638196945190,0.002461894814457 |
| 14 | +RollingBloom-refresh,1,0.000635000000000,0.000635000000000,0.000635000000000 |
| 15 | +RollingBloom-refresh,1,0.000108000000000,0.000108000000000,0.000108000000000 |
| 16 | +RollingBloom-refresh,1,0.000107000000000,0.000107000000000,0.000107000000000 |
| 17 | +RollingBloom-refresh,1,0.000204000000000,0.000204000000000,0.000204000000000 |
| 18 | +SHA1,640,0.000909024336207,0.001938136418660,0.001843086257577 |
| 19 | +SHA256,256,0.002209486499909,0.008500099182129,0.004300644621253 |
| 20 | +SHA512,384,0.001319904176016,0.002813005447388,0.002615700786312 |
| 21 | +Sleep100ms,10,0.205592155456543,0.210056066513062,0.104166316986084 |
| 22 | +Trig,67108864,0.000000014997003,0.000000015448112,0.000000015188842 |
| 23 | +``` |
| 24 | + |
| 25 | +More benchmarks are needed for, in no particular order: |
| 26 | +- Script Validation |
| 27 | +- CCoinDBView caching |
| 28 | +- Coins database |
| 29 | +- Memory pool |
| 30 | +- Wallet coin selection |
0 commit comments