25 #include "benchmark_result.hpp"
55 typedef std::list<benchmark_result>::iterator
iterator;
77 template<
typename TIMERT>
void run(
size_t n,function_t &func);
81 iterator
begin() {
return _results.begin(); }
85 iterator
end() {
return _results.end(); }
89 const_iterator
begin()
const {
return _results.begin(); }
93 const_iterator
end()
const {
return _results.end(); }
97 size_t size()
const {
return _results.size(); }
101 void prerun(
const function_t f) { _pre_run = f; }
105 void postrun(
const function_t f) { _post_run = f; }
111 for(
size_t i=0;i<n;i++)
const_iterator begin() const
get const iterator to first element
Definition: benchmark_runner.hpp:89
void do_nothing()
default pre- and post-run function
Definition: benchmark_runner.hpp:50
result of a single benchmark
Definition: benchmark_result.hpp:42
benchmark runner class
Definition: benchmark_runner.hpp:39
virtual ~benchmark_runner()
destructor
Definition: benchmark_runner.hpp:73
std::function< void()> _post_run
function to run after a benchmark run
Definition: benchmark_runner.hpp:47
benchmark_result standard_deviation(const benchmark_runner &bm)
compute result standard deviation
iterator end()
get iterator to last+1 element
Definition: benchmark_runner.hpp:85
Definition: add_op.hpp:29
iterator begin()
get iterator to first element
Definition: benchmark_runner.hpp:81
benchmark_runner()
default constructor
Definition: benchmark_runner.hpp:63
void postrun(const function_t f)
set post-run function
Definition: benchmark_runner.hpp:105
std::function< void()> _pre_run
function to run before a benchmark run
Definition: benchmark_runner.hpp:45
const_iterator end() const
get const iterator to last+1 element
Definition: benchmark_runner.hpp:93
benchmark_result average(const benchmark_runner &bm)
compute the average result
std::list< benchmark_result >::iterator iterator
iterator for benchmark results
Definition: benchmark_runner.hpp:55
std::list< benchmark_result >::const_iterator const_iterator
const iterator for benchnmark results
Definition: benchmark_runner.hpp:57
void prerun(const function_t f)
set pre-run function
Definition: benchmark_runner.hpp:101
size_t size() const
get size
Definition: benchmark_runner.hpp:97
void run(size_t n, function_t &func)
perform all runs
Definition: benchmark_runner.hpp:109
std::function< void()> function_t
function type for pre- and post-run functions
Definition: benchmark_runner.hpp:59
std::list< benchmark_result > _results
list with benchmark results
Definition: benchmark_runner.hpp:43