Theoretica
A C++ numerical and automatic mathematical library
benchmark.h File Reference

Benchmark module. More...

#include <ctime>
#include <iostream>
#include "./core/random.h"
#include "./benchmark/timer.h"
#include "./benchmark/generator.h"
#include "./benchmark/benchmark_structures.h"

Go to the source code of this file.

Classes

class  chebyshev::benchmark::benchmark_settings
 of the benchmark module More...
 
class  chebyshev::benchmark::benchmark_results
 benchmarks. More...
 

Namespaces

 chebyshev
 General namespace of the framework.
 
 chebyshev::benchmark
 Benchmark module.
 

Functions

void chebyshev::benchmark::setup (std::string moduleName, int argc=0, const char **argv=nullptr)
 Setup the benchmark environment. More...
 
void chebyshev::benchmark::terminate (bool exit=true)
 Terminate the benchmarking environment. More...
 
template<typename InputType , typename Function >
long double chebyshev::benchmark::runtime (Function func, const std::vector< InputType > &input)
 Measure the total runtime of a function over the given input for a single run. More...
 
template<typename InputType = double, typename Function >
void chebyshev::benchmark::benchmark (const std::string &name, Function func, const std::vector< InputType > &input, unsigned int runs=settings.defaultRuns, bool quiet=false)
 Run a benchmark on a generic function, with the given input vector. More...
 
template<typename InputType = double, typename Function >
void chebyshev::benchmark::benchmark (const std::string &name, Function func, const benchmark_options< InputType > &opt)
 Run a benchmark on a generic function, with the given options. More...
 
template<typename InputType = double, typename Function >
void chebyshev::benchmark::benchmark (const std::string &name, Function func, unsigned int runs=settings.defaultRuns, unsigned int iterations=settings.defaultIterations, InputGenerator< InputType > inputGenerator=generator::uniform1D(0, 1), bool quiet=false)
 Run a benchmark on a generic function, with the given argument options. More...
 

Variables

struct chebyshev::benchmark::benchmark_settings chebyshev::benchmark::settings
 
struct chebyshev::benchmark::benchmark_results chebyshev::benchmark::results
 

Detailed Description

Benchmark module.