HomePhabricator

Simple benchmarking framework
535ed9223dcbUnpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

Simple benchmarking framework

Benchmarking framework, loosely based on google's micro-benchmarking
library (https://github.com/google/benchmark)

Wny not use the Google Benchmark framework? Because adding Even More Dependencies
isn't worth it. If we get a dozen or three benchmarks and need nanosecond-accurate
timings of threaded code then switching to the full-blown Google Benchmark library
should be considered.

The benchmark framework is hard-coded to run each benchmark for one wall-clock second,
and then spits out .csv-format timing information to stdout. It is left as an
exercise for later (or maybe never) to add command-line arguments to specify which
benchmark(s) to run, how long to run them for, how to format results, etc etc etc.
Again, see the Google Benchmark framework for where that might end up.

See src/bench/MilliSleep.cpp for a sanity-test benchmark that just benchmarks
'sleep 100 milliseconds.'

To compile and run benchmarks:

cd src; make bench

Sample output:

Benchmark,count,min,max,average
Sleep100ms,10,0.101854,0.105059,0.103881

Details

Provenance
Gavin Andresen <gavinandresen@gmail.com>Authored on Sep 24 2015, 17:13
deadalnixPushed on May 14 2017, 22:04
Parents
rABC1a9f19a78daa: Merge pull request #6719
Branches
Unknown
Tags
Unknown

Event Timeline

Gavin Andresen <gavinandresen@gmail.com> committed rABC535ed9223dcb: Simple benchmarking framework (authored by Gavin Andresen <gavinandresen@gmail.com>).Sep 30 2015, 13:24