#include int fib1(int n) { if (n < 2) return n; else return fib1(n - 1) + fib1(n - 2); } int fib2(int n) { if (n < 2) return n; else return fib2(n - 2) + fib2(n - 1); } template void test(benchmark::State &state) { for (auto _ : state) for (int i = 0; i < 30; ++i) benchmark::DoNotOptimize(f(i)); } BENCHMARK(test); BENCHMARK(test); BENCHMARK_MAIN();