miniacc Namespace Reference

Functions

◆ parse_range_or_list_double()

std::vector< double > miniacc::parse_range_or_list_double ( const std::string & str)
inline

Definition at line 81 of file miniacc.hh.

◆ parse_list()

std::vector< std::string > miniacc::parse_list ( const std::string & str)
inline

Definition at line 116 of file miniacc.hh.

◆ dedup_nearly_equal()

std::vector< double > miniacc::dedup_nearly_equal ( const std::vector< double > & input,
double eps = 1e-12 )
inline

Definition at line 126 of file miniacc.hh.

◆ registry()

std::vector< Benchmark > & miniacc::registry ( )
inline

Definition at line 245 of file miniacc.hh.

◆ RegisterBenchmark()

Benchmark * miniacc::RegisterBenchmark ( const std::string & name,
BenchFunc func )
inline

Definition at line 250 of file miniacc.hh.

◆ summarize_metric()

MetricSummary miniacc::summarize_metric ( const std::vector< SampleRow > & rows,
const std::string & metric_name )
inline

Definition at line 255 of file miniacc.hh.

◆ run_benchmark()

Result miniacc::run_benchmark ( const Benchmark & b,
const std::vector< double > & args,
const Config & cfg,
double target_log10_cond,
bool keep_samples )
inline

Definition at line 288 of file miniacc.hh.

◆ match_filter()

bool miniacc::match_filter ( const Benchmark & b,
const std::string & benchmark_filter,
const std::vector< std::string > & backends,
const std::vector< std::string > & types )
inline

Definition at line 330 of file miniacc.hh.

◆ format_value()

std::string miniacc::format_value ( double v)
inline

Definition at line 397 of file miniacc.hh.

◆ metric_mean_or_nan()

double miniacc::metric_mean_or_nan ( const Result & r,
const std::initializer_list< const char * > & keys )
inline

Definition at line 404 of file miniacc.hh.

◆ has_any_metric()

bool miniacc::has_any_metric ( const Result & r,
const std::initializer_list< const char * > & keys )
inline

Definition at line 429 of file miniacc.hh.

◆ detect_summary_columns()

SummaryMetricColumns miniacc::detect_summary_columns ( const std::vector< Result > & results)
inline

Definition at line 434 of file miniacc.hh.

◆ print_summary_header()

void miniacc::print_summary_header ( size_t name_width,
size_t max_args,
const SummaryMetricColumns & cols )
inline

Definition at line 452 of file miniacc.hh.

◆ print_summary_row()

void miniacc::print_summary_row ( const Result & r,
size_t name_width,
size_t max_args,
const SummaryMetricColumns & cols )
inline

Definition at line 479 of file miniacc.hh.

◆ write_samples_csv()

void miniacc::write_samples_csv ( const std::string & path,
const std::vector< Result > & results )
inline

Definition at line 523 of file miniacc.hh.

◆ RunRegisteredBenchmarks()

int miniacc::RunRegisteredBenchmarks ( const Config & cfg,
const std::string & csv_path,
const std::string & benchmark_filter,
const std::vector< std::string > & backends,
const std::vector< std::string > & types,
const std::vector< std::vector< double > > & args_override )
inline

Definition at line 591 of file miniacc.hh.

◆ ParseCommandLine()

CliOptions miniacc::ParseCommandLine ( int argc,
char ** argv )
inline

Definition at line 658 of file miniacc.hh.

Types

◆ BenchFunc

using miniacc::BenchFunc = std::function<void(State&)>

Definition at line 202 of file miniacc.hh.

Variables

◆ kColorReset

const char* miniacc::kColorReset = "\033[0m"
constexpr

Definition at line 40 of file miniacc.hh.

◆ kColorHeader

const char* miniacc::kColorHeader = "\033[1;36m"
constexpr

Definition at line 41 of file miniacc.hh.

◆ kColorName

const char* miniacc::kColorName = "\033[1m"
constexpr

Definition at line 42 of file miniacc.hh.

Classes

struct  Config
 Run-wide settings parsed from the command line. More...
struct  SampleRow
struct  MetricSummary
struct  Result
class  State
 Per-case context handed to a benchmark: its arguments, the run settings, and the sample sink. More...
struct  Benchmark
 A registered case: name, function, and its argument lists (Args, ArgRange, ArgsProduct). More...
struct  SummaryMetricColumns
struct  CliOptions