• Gavin Andresen's avatar
    Simple benchmarking framework · 37113135
    Gavin Andresen authored
    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
    37113135
Makefile.am 10.5 KB