git / moonbite-core / doc/benchmarking.md · raw
Benchmarking============Litecoin Core has an internal benchmarking framework, with benchmarksfor 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 `litecoin_bench`. Beware of configuring without `--enable-debug` as this would impactbenchmarking by unlatching log printers and lock analysis. make -C src litecoin_benchAfter compiling litecoin-core, the benchmarks can be run with: src/bench/bench_litecoinThe 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`...```Help--------------------- src/bench/bench_litcoin --helpTo print options like scaling factor or per-benchmark filter.Notes---------------------More benchmarks are needed for, in no particular order:- Script Validation- Coins database- Memory pool- Cuckoo Cache- P2P throughputGoing Further--------------------To monitor Litecoin Core performance more in depth (like reindex or IBD): https://github.com/chaincodelabs/bitcoinperfTo generate Flame Graphs for Litecoin Core: https://github.com/eklitzke/bitcoin/blob/flamegraphs/doc/flamegraphs.md