chaincodelabs / bitcoinperf

High-level performance monitoring framework for Bitcoin Core
https://bitcoinperf.com
52 stars 16 forks source link

Benchmark fine-grained performance (e.g. ConnectBlock) #37

Open maflcko opened 6 years ago

maflcko commented 6 years ago

Similar to #17 which is about a more fine-grained performance benchmark for the rpcs, I suggest to do the same for internal functions such as ConnectBlock.

We could either parse the debug log for the durations that are logged or use a more general framework/tooling to collect durations of specific functions or code paths.

jamesob commented 6 years ago

Parsing the debug log sounds like a good first step. I've been kicking around the idea of doing low-frequency callgraph sampling with perf throughout IBD and reindex, so that's another possibility.

sdaftuar commented 5 years ago

I think this would be great -- another benchmark idea I have along these lines is to benchmark the time it takes to call ATMP on a large transaction (both when the inputs are cached and when they aren't, and when the transaction's scripts are valid and when they're not, due to a policy reason).