cpp-stat-bench 0.24.0
Benchmark library with statistics for C++.
Loading...
Searching...
No Matches
stat_bench::measurer Namespace Reference

Namespace of classes to measure time in benchmarks. More...

Classes

class  IMeasurer
 Interface of measurers of durations. More...
 
class  MeanProcessingTimeMeasurer
 Class to measure mean processing time. More...
 
class  Measurement
 Class of data of measurements. More...
 
class  MeasurerName
 Class of names of measurers. More...
 
class  ProcessingTimeMeasurer
 Class to measure processing time. More...
 

Functions

auto determine_iterations (bench_impl::IBenchmarkCase *bench_case, const BenchmarkCondition &cond, const MeasurerName &measurer_name, double min_sample_duration_sec) -> std::size_t
 Determine number of iterations.
 
auto determine_warming_up_samples (bench_impl::IBenchmarkCase *bench_case, const BenchmarkCondition &cond, const MeasurerName &measurer_name, std::size_t iterations, std::size_t min_iterations, double min_duration_sec) -> std::size_t
 Determine number of iterations.
 
auto measure_once (bench_impl::IBenchmarkCase *bench_case, const BenchmarkCondition &cond, const MeasurerName &measurer_name, std::size_t iterations, std::size_t samples, std::size_t warming_up_samples) -> Measurement
 Measure durations once.
 
auto operator!= (const MeasurerName &lhs, const MeasurerName &rhs) noexcept -> bool
 Compare two MeasurerName objects.
 
auto operator<< (std::ostream &stream, const MeasurerName &val) -> std::ostream &
 Format to a stream.
 
auto operator== (const MeasurerName &lhs, const MeasurerName &rhs) noexcept -> bool
 Compare two MeasurerName objects.
 

Detailed Description

Namespace of classes to measure time in benchmarks.

Function Documentation

◆ determine_iterations()

auto stat_bench::measurer::determine_iterations ( bench_impl::IBenchmarkCase * bench_case,
const BenchmarkCondition & cond,
const MeasurerName & measurer_name,
double min_sample_duration_sec ) -> std::size_t
nodiscard

Determine number of iterations.

Parameters
[in]bench_caseCase.
[in]condCondition.
[in]measurer_nameMeasurer name.
[in]min_sample_duration_secMinimum duration for a sample. [sec]
Returns
Number of iterations.

Definition at line 32 of file determine_iterations.cpp.

◆ determine_warming_up_samples()

auto stat_bench::measurer::determine_warming_up_samples ( bench_impl::IBenchmarkCase * bench_case,
const BenchmarkCondition & cond,
const MeasurerName & measurer_name,
std::size_t iterations,
std::size_t min_iterations,
double min_duration_sec ) -> std::size_t
nodiscard

Determine number of iterations.

Parameters
[in]bench_caseCase.
[in]condCondition.
[in]measurer_nameMeasurer name.
[in]iterationsNumber of iterations.
[in]min_iterationsMinimum number of iterations for warming up.
[in]min_duration_secMinimum duration for warming up. [sec]
Returns
Number of samples for warming up.

Definition at line 27 of file determine_warming_up_samples.cpp.

◆ measure_once()

auto stat_bench::measurer::measure_once ( bench_impl::IBenchmarkCase * bench_case,
const BenchmarkCondition & cond,
const MeasurerName & measurer_name,
std::size_t iterations,
std::size_t samples,
std::size_t warming_up_samples ) -> Measurement
nodiscard

Measure durations once.

Parameters
[in]bench_caseCase.
[in]condCondition.
[in]measurer_nameMeasurer name.
[in]iterationsNumber of iterations.
[in]samplesNumber of samples (except for warming up).
[in]warming_up_samplesNumber of samples for warming up.
Returns
Result.

Definition at line 39 of file measure_once.cpp.

◆ operator!=()

auto stat_bench::measurer::operator!= ( const MeasurerName & lhs,
const MeasurerName & rhs ) -> bool
inlinenodiscardnoexcept

Compare two MeasurerName objects.

Parameters
[in]lhsLeft-hand side object.
[in]rhsRight-hand side object.
Return values
trueThe two objects are not equal.
falseThe two objects are equal.

Definition at line 86 of file measurer_name.h.

◆ operator<<()

auto stat_bench::measurer::operator<< ( std::ostream & stream,
const MeasurerName & val ) -> std::ostream&
inline

Format to a stream.

Parameters
[in,out]streamStream.
[in]valValue.
Returns
Stream.

Definition at line 129 of file measurer_name.h.

◆ operator==()

auto stat_bench::measurer::operator== ( const MeasurerName & lhs,
const MeasurerName & rhs ) -> bool
inlinenodiscardnoexcept

Compare two MeasurerName objects.

Parameters
[in]lhsLeft-hand side object.
[in]rhsRight-hand side object.
Return values
trueThe two objects are equal.
falseThe two objects are not equal.

Definition at line 73 of file measurer_name.h.