| 
    Chebyshev
    
   Unit testing for scientific software 
   | 
 
Benchmark module. More...
Namespaces | |
| namespace | generator | 
| Input generators for benchmarks.  | |
Classes | |
| class | benchmark_context | 
| Benchmark module context, handling benchmark requests concurrently.  More... | |
| class | benchmark_options | 
| A structure holding the options of a benchmark.  More... | |
| class | benchmark_result | 
| Structure holding the results of a benchmark.  More... | |
| class | benchmark_settings | 
| Global settings of the benchmark module, used in benchmark_context.  More... | |
| class | timer | 
| Timer class to measure elapsed time in milliseconds.  More... | |
Typedefs | |
| template<typename InputType > | |
| using | InputGenerator = std::function< InputType(random::random_source &)> | 
| A function which takes in a random source and returns a generated input element.  | |
Functions | |
| template<typename InputType , typename Function > | |
| long double | runtime (Function func, const std::vector< InputType > &input) | 
| Measure the total runtime of a function over the given input for a single run.   | |
| benchmark_context | make_context (const std::string &moduleName, int argc=0, const char **argv=nullptr) | 
| Construct a benchmarking context with the given parameters.   | |
Benchmark module.
This module provides routines for measuring the average runtime of functions of any kind over a randomized or fixed vector of inputs. The benchmark::benchmark implements this functionality and registers the results for analysis and output.
| benchmark_context chebyshev::benchmark::make_context | ( | const std::string & | moduleName, | 
| int | argc = 0,  | 
        ||
| const char ** | argv = nullptr  | 
        ||
| ) | 
Construct a benchmarking context with the given parameters.
| moduleName | Name of the module under test. | 
| argc | The number of command line arguments. | 
| argv | An array of command line arguments as C-like strings. | 
      
  | 
  inline | 
Measure the total runtime of a function over the given input for a single run.
It is generally not needed to call this function directly, as benchmarks can be run and registered using benchmark::benchmark.
| func | The function to measure the runtime of | 
| input | The vector of inputs |