Skip to content

Latest commit

 

History

History
executable file
·
28 lines (23 loc) · 1.23 KB

benchmarking.md

File metadata and controls

executable file
·
28 lines (23 loc) · 1.23 KB

Benchmarking

01coin has an internal benchmarking framework, with benchmarks for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter.

After compiling 01coin, the benchmarks can be run with: src/bench/bench_zeroone

The output will look similar to:

#Benchmark,count,min,max,average,min_cycles,max_cycles,average_cycles
Base58CheckEncode,114688,0.000005732537829,0.000012499513105,0.000008897766488,18344,39999,28473
Base58Decode,393216,0.000002289736585,0.000003563633072,0.000002547894837,7327,11403,8153
Base58Encode,229376,0.000003515742719,0.000007341615856,0.000005036891837,11251,23493,16118
CCheckQueueSpeed,6144,0.000114226713777,0.000195927917957,0.000164919455225,365541,626985,527755
CCheckQueueSpeedPrevectorJob,512,0.001142561435699,0.003147330135107,0.002267281524837,3656257,10071694,7255487
CCoinsCaching,65536,0.000011122698197,0.000030841911212,0.000016168076399,35593,98697,51739
CoinSelection,352,0.002365998923779,0.003732815384865,0.002895672890273,7571407,11945344,9266394

More benchmarks are potentially needed for, in no particular order:

  • Script Validation?
  • CCoinDBView caching?
  • Coins database?
  • Memory pool?
  • Wallet coin selection?

...List TBD