3. C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
GOOGLE-BENCHMARK
https://github.com/google/benchmark
#include <benchmark/benchmark.h>
static void BM_StringCreation(benchmark::State& state) {
while (state.KeepRunning())
std::string empty_string;
}
// Register the function as a benchmark
BENCHMARK(BM_StringCreation);
// Define another benchmark
static void BM_StringCopy(benchmark::State& state) {
std::string x = "hello";
while (state.KeepRunning())
std::string copy(x);
}
BENCHMARK(BM_StringCopy);
BENCHMARK_MAIN();
4. C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
GOOGLE-BENCHMARK
PS D:devvsbenchmarkbench_it> .basic_test.exe
Run on (8 X 2594 MHz CPU s)
10/14/17 13:44:35
---------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------
BM_StringCreation 570 ns 572 ns 1120000
BM_StringCopy 593 ns 594 ns 1000000
5. C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
QUICK-BENCH
http://quick-bench.com/
Fred Tingaud @fredtingaud
What is Quick-bench?
Quick-benchmark is a micro benchmarking tool intended to quickly and
simply compare the performances of two or more code snippets
6. C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
QUICK-BENCH
7. C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
QUICK-BENCH
8. C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
QUICK-BENCH
9. C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
QUICK-BENCH
10. 9
C++ COREHARD AUTUMN 2017
IGOR SADCHENKO // C++ COREHARD // 14.10.17
LINKS
Google-benchmark
https://github.com/google/benchmark
Quick-bench
http://quick-bench.com/