benchmark.hpp
Go to the documentation of this file.
void unoptimize(const void *)
Utility to prevent calls to code the could be inlineable by the compiler being removed completely if ...
int benchmark_main(int argc, char const *const *argv, FnT &&fn)
Creates a benchmark_runner and passes it to fn, returning a zero (success) code.
Definition: benchmark.hpp:291
constexpr auto count(InitT init=InitT{0}, StepT step=StepT{1}) -> count_t< InitT, StepT >
Generator transducer produces a sequence:
Definition: count.hpp:78
Settings to configure a benchmark run.
Definition: benchmark.hpp:83
unsigned measurements
Number of measurements or attempts to make per benchmark.
Definition: benchmark.hpp:96
Error thrown by the benchmark_runner when it should not execute.
Definition: benchmark.hpp:207
auto timeit(FnT &&fn) -> std::chrono::duration< double, std::milli >
In the spirit of Python's timeit(), takes a nullary function and evaluates it, calculating how long i...
Definition: benchmark.hpp:69
void run(XformT &&xform, InputRangeTs &&...ranges)
Runs a transducer composed with no significant reduction.
Definition: run.hpp:48
unsigned iterations
How many times the benchmark is run per measurement.
Definition: benchmark.hpp:90
A class to run multiple suites of benchmarks.
Definition: benchmark.hpp:256