Example of a parameterized benchmark.
[[nodiscard]] int fibonacci(int number);
public:
FibonacciFixture() {
->add(10)
->add(15);
}
};
const int number =
}
int fibonacci(int number) {
if (number < 2) {
return 1;
}
return fibonacci(number - 1) + fibonacci(number - 2);
}
Definition of macros for benchmarks.
#define STAT_BENCH_MAIN
Macro of default main function.
#define STAT_BENCH_MEASURE()
Macro to measure a function.
#define STAT_BENCH_CASE_F(FIXTURE_NAME, GROUP_NAME, CASE_NAME)
Macro to define a case using a fixture.
auto add_param(const param::ParameterName ¶m_name) -> std::shared_ptr< param::ParameterValueVector< T > >
Add a parameter.
auto current_invocation_context() -> InvocationContext &
Get the current invocation context.