chainweb-node
chainweb-node copied to clipboard
Profiling and benchmark suite
Usually, every newly created Haskell code base has some performance issues. These are often due to laziness bugs. Among those are often some low-hanging fruits that can be quickly identified through performance and heap profiling.
Using thread scope can also provide insights on scheduling and garbage collection overhead.
There should also be a benchmark suite for critical operations like serializing and deserializing block headers, looking up block headers in the chain db, synchronizing db snapshots, adding new block headers, validating block headers, and difficulty adjustment computations.