QtRocket
 
Loading...
Searching...
No Matches
Catch::Benchmark::Detail Namespace Reference

Classes

struct  BenchmarkFunction
 
struct  bootstrap_analysis
 
struct  ChronometerConcept
 
struct  ChronometerModel
 
struct  CompleteInvoker
 
struct  CompleteInvoker< void >
 
struct  CompleteType
 
struct  CompleteType< void >
 
struct  do_nothing
 
struct  is_related
 
struct  ObjectStorage
 
struct  optimized_away_error
 
struct  repeater
 

Typedefs

template<typename T>
using CompleteType_t = typename CompleteType<T>::type
 
template<typename Clock, typename Fun>
using run_for_at_least_argument_t = std::conditional_t<is_callable<Fun(Chronometer)>::value, Chronometer, int>
 
using sample = std::vector<double>
 

Functions

SampleAnalysis analyse (const IConfig &cfg, FDuration *first, FDuration *last)
 
void throw_optimized_away_error ()
 
double weighted_average_quantile (int k, int q, double *first, double *last)
 
OutlierClassification classify_outliers (double const *first, double const *last)
 
double mean (double const *first, double const *last)
 
double normal_cdf (double x)
 
double erfc_inv (double x)
 
double normal_quantile (double p)
 
Estimate< double > bootstrap (double confidence_level, double *first, double *last, sample const &resample, double(*estimator)(double const *, double const *))
 
bootstrap_analysis analyse_samples (double confidence_level, unsigned int n_resamples, double *first, double *last)
 
template<typename Fun>
repeater< std::decay_t< Fun > > repeat (Fun &&fun)
 
template<typename Fun, typename... Args>
CompleteType_t< FunctionReturnType< Fun, Args... > > complete_invoke (Fun &&fun, Args &&... args)
 
template<typename Clock, typename Fun, typename... Args>
TimingOf< Fun, Args... > measure (Fun &&fun, Args &&... args)
 
template<typename Clock, typename Fun>
TimingOf< Fun, int > measure_one (Fun &&fun, int iters, std::false_type)
 
template<typename Clock, typename Fun>
TimingOf< Fun, Chronometermeasure_one (Fun &&fun, int iters, std::true_type)
 
template<typename Clock, typename Fun>
TimingOf< Fun, run_for_at_least_argument_t< Clock, Fun > > run_for_at_least (IDuration how_long, const int initial_iterations, Fun &&fun)
 
template<typename Clock>
std::vector< double > resolution (int k)
 
template<typename Clock>
int warmup ()
 
template<typename Clock>
EnvironmentEstimate estimate_clock_resolution (int iterations)
 
template<typename Clock>
EnvironmentEstimate estimate_clock_cost (FDuration resolution)
 
template<typename Clock>
Environment measure_environment ()
 

Variables

constexpr auto warmup_iterations = 10000
 
constexpr auto warmup_time = std::chrono::milliseconds(100)
 
constexpr auto minimum_ticks = 1000
 
constexpr auto warmup_seed = 10000
 
constexpr auto clock_resolution_estimation_time = std::chrono::milliseconds(500)
 
constexpr auto clock_cost_estimation_time_limit = std::chrono::seconds(1)
 
constexpr auto clock_cost_estimation_tick_limit = 100000
 
constexpr auto clock_cost_estimation_time = std::chrono::milliseconds(10)
 
constexpr auto clock_cost_estimation_iterations = 10000
 

Typedef Documentation

◆ CompleteType_t

template<typename T>
using Catch::Benchmark::Detail::CompleteType_t = typename CompleteType<T>::type

◆ run_for_at_least_argument_t

template<typename Clock, typename Fun>
using Catch::Benchmark::Detail::run_for_at_least_argument_t = std::conditional_t<is_callable<Fun(Chronometer)>::value, Chronometer, int>

◆ sample

using Catch::Benchmark::Detail::sample = std::vector<double>

Function Documentation

◆ analyse()

SampleAnalysis Catch::Benchmark::Detail::analyse ( const IConfig & cfg,
FDuration * first,
FDuration * last )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ analyse_samples()

bootstrap_analysis Catch::Benchmark::Detail::analyse_samples ( double confidence_level,
unsigned int n_resamples,
double * first,
double * last )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ bootstrap()

Estimate< double > Catch::Benchmark::Detail::bootstrap ( double confidence_level,
double * first,
double * last,
sample const & resample,
double(* estimator )(double const *, double const *) )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ classify_outliers()

OutlierClassification Catch::Benchmark::Detail::classify_outliers ( double const * first,
double const * last )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ complete_invoke()

template<typename Fun, typename... Args>
CompleteType_t< FunctionReturnType< Fun, Args... > > Catch::Benchmark::Detail::complete_invoke ( Fun && fun,
Args &&... args )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ erfc_inv()

double Catch::Benchmark::Detail::erfc_inv ( double x)
Here is the caller graph for this function:

◆ estimate_clock_cost()

template<typename Clock>
EnvironmentEstimate Catch::Benchmark::Detail::estimate_clock_cost ( FDuration resolution)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ estimate_clock_resolution()

template<typename Clock>
EnvironmentEstimate Catch::Benchmark::Detail::estimate_clock_resolution ( int iterations)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mean()

double Catch::Benchmark::Detail::mean ( double const * first,
double const * last )
Here is the caller graph for this function:

◆ measure()

template<typename Clock, typename Fun, typename... Args>
TimingOf< Fun, Args... > Catch::Benchmark::Detail::measure ( Fun && fun,
Args &&... args )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ measure_environment()

template<typename Clock>
Environment Catch::Benchmark::Detail::measure_environment ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ measure_one() [1/2]

template<typename Clock, typename Fun>
TimingOf< Fun, int > Catch::Benchmark::Detail::measure_one ( Fun && fun,
int iters,
std::false_type  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ measure_one() [2/2]

template<typename Clock, typename Fun>
TimingOf< Fun, Chronometer > Catch::Benchmark::Detail::measure_one ( Fun && fun,
int iters,
std::true_type  )
Here is the call graph for this function:

◆ normal_cdf()

double Catch::Benchmark::Detail::normal_cdf ( double x)
Here is the caller graph for this function:

◆ normal_quantile()

double Catch::Benchmark::Detail::normal_quantile ( double p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ repeat()

template<typename Fun>
repeater< std::decay_t< Fun > > Catch::Benchmark::Detail::repeat ( Fun && fun)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resolution()

template<typename Clock>
std::vector< double > Catch::Benchmark::Detail::resolution ( int k)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_for_at_least()

template<typename Clock, typename Fun>
TimingOf< Fun, run_for_at_least_argument_t< Clock, Fun > > Catch::Benchmark::Detail::run_for_at_least ( IDuration how_long,
const int initial_iterations,
Fun && fun )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ throw_optimized_away_error()

void Catch::Benchmark::Detail::throw_optimized_away_error ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ warmup()

template<typename Clock>
int Catch::Benchmark::Detail::warmup ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ weighted_average_quantile()

double Catch::Benchmark::Detail::weighted_average_quantile ( int k,
int q,
double * first,
double * last )
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ clock_cost_estimation_iterations

auto Catch::Benchmark::Detail::clock_cost_estimation_iterations = 10000
constexpr

◆ clock_cost_estimation_tick_limit

auto Catch::Benchmark::Detail::clock_cost_estimation_tick_limit = 100000
constexpr

◆ clock_cost_estimation_time

auto Catch::Benchmark::Detail::clock_cost_estimation_time = std::chrono::milliseconds(10)
constexpr

◆ clock_cost_estimation_time_limit

auto Catch::Benchmark::Detail::clock_cost_estimation_time_limit = std::chrono::seconds(1)
constexpr

◆ clock_resolution_estimation_time

auto Catch::Benchmark::Detail::clock_resolution_estimation_time = std::chrono::milliseconds(500)
constexpr

◆ minimum_ticks

auto Catch::Benchmark::Detail::minimum_ticks = 1000
constexpr

◆ warmup_iterations

auto Catch::Benchmark::Detail::warmup_iterations = 10000
constexpr

◆ warmup_seed

auto Catch::Benchmark::Detail::warmup_seed = 10000
constexpr

◆ warmup_time

auto Catch::Benchmark::Detail::warmup_time = std::chrono::milliseconds(100)
constexpr