18class BenchmarkInstance {
20 BenchmarkInstance(
Benchmark* benchmark,
int family_idx,
21 int per_family_instance_idx,
22 const std::vector<int64_t>& args,
int thread_count);
25 int family_index()
const {
return family_index_; }
26 int per_family_instance_index()
const {
return per_family_instance_index_; }
27 AggregationReportMode aggregation_report_mode()
const {
28 return aggregation_report_mode_;
30 TimeUnit time_unit()
const {
return time_unit_; }
31 bool measure_process_cpu_time()
const {
return measure_process_cpu_time_; }
32 bool use_real_time()
const {
return use_real_time_; }
33 bool use_manual_time()
const {
return use_manual_time_; }
34 BigO complexity()
const {
return complexity_; }
35 BigOFunc* complexity_lambda()
const {
return complexity_lambda_; }
36 const std::vector<Statistics>& statistics()
const {
return statistics_; }
37 int repetitions()
const {
return repetitions_; }
38 double min_time()
const {
return min_time_; }
39 double min_warmup_time()
const {
return min_warmup_time_; }
40 IterationCount iterations()
const {
return iterations_; }
41 int threads()
const {
return threads_; }
43 void Teardown()
const;
53 const int family_index_;
54 const int per_family_instance_index_;
55 AggregationReportMode aggregation_report_mode_;
56 const std::vector<int64_t>& args_;
58 bool measure_process_cpu_time_;
60 bool use_manual_time_;
62 BigOFunc* complexity_lambda_;
63 UserCounters counters_;
64 const std::vector<Statistics>& statistics_;
67 double min_warmup_time_;
68 IterationCount iterations_;
71 callback_function setup_;
72 callback_function teardown_;