Improved microbenchmarking with multiple features.

* inline performance critical code
* Average runtime is specified and used to calculate iterations.
* Console: show median of multiple runs
* plot: show box plot
* filter benchmarks
* specify scaling factor
* ignore src/test and src/bench in command line check script
* number of iterations instead of time
* Replaced runtime in BENCHMARK makro number of iterations.
* Added -? to bench_bitcoin
* Benchmark plotly.js URL, width, height can be customized
* Fixed incorrect precision warning
This commit is contained in:
Martin Ankerl
2017-10-17 16:48:02 +02:00
parent 604e08c83c
commit 00721e69f8
15 changed files with 286 additions and 171 deletions

View File

@@ -15,7 +15,7 @@ static void Sleep100ms(benchmark::State& state)
}
}
BENCHMARK(Sleep100ms);
BENCHMARK(Sleep100ms, 10);
// Extremely fast-running benchmark:
#include <math.h>
@@ -31,4 +31,4 @@ static void Trig(benchmark::State& state)
}
}
BENCHMARK(Trig);
BENCHMARK(Trig, 12 * 1000 * 1000);