Lines Matching full:family
52 // The size of a benchmark family determines is the number of inputs to repeat
64 // benchmark identifies a family of related benchmarks to run.
69 // Registers a benchmark family and returns the index assigned to it.
70 size_t AddBenchmark(std::unique_ptr<Benchmark> family);
90 size_t BenchmarkFamilies::AddBenchmark(std::unique_ptr<Benchmark> family) { in AddBenchmark() argument
93 families_.push_back(std::move(family)); in AddBenchmark()
114 for (std::unique_ptr<Benchmark>& family : families_) { in FindBenchmarks()
115 // Family was deleted or benchmark doesn't match in FindBenchmarks()
116 if (!family) continue; in FindBenchmarks()
118 if (family->ArgsCnt() == -1) { in FindBenchmarks()
119 family->Args({}); in FindBenchmarks()
122 (family->thread_counts_.empty() in FindBenchmarks()
124 : &static_cast<const std::vector<int>&>(family->thread_counts_)); in FindBenchmarks()
125 const size_t family_size = family->args_.size() * thread_counts->size(); in FindBenchmarks()
129 Err << "The number of inputs is very large. " << family->name_ in FindBenchmarks()
133 // family size. in FindBenchmarks()
136 for (auto const& args : family->args_) { in FindBenchmarks()
139 instance.name = family->name_; in FindBenchmarks()
140 instance.benchmark = family.get(); in FindBenchmarks()
141 instance.report_mode = family->report_mode_; in FindBenchmarks()
143 instance.time_unit = family->time_unit_; in FindBenchmarks()
144 instance.range_multiplier = family->range_multiplier_; in FindBenchmarks()
145 instance.min_time = family->min_time_; in FindBenchmarks()
146 instance.repetitions = family->repetitions_; in FindBenchmarks()
147 instance.use_real_time = family->use_real_time_; in FindBenchmarks()
148 instance.use_manual_time = family->use_manual_time_; in FindBenchmarks()
149 instance.complexity = family->complexity_; in FindBenchmarks()
150 instance.complexity_lambda = family->complexity_lambda_; in FindBenchmarks()
158 if (arg_i < family->arg_names_.size()) { in FindBenchmarks()
159 const auto& arg_name = family->arg_names_[arg_i]; in FindBenchmarks()
162 StringPrintF("%s:", family->arg_names_[arg_i].c_str()); in FindBenchmarks()
170 if (!IsZero(family->min_time_)) { in FindBenchmarks()
171 instance.name += StringPrintF("/min_time:%0.3f", family->min_time_); in FindBenchmarks()
173 if (family->repetitions_ != 0) { in FindBenchmarks()
174 instance.name += StringPrintF("/repeats:%d", family->repetitions_); in FindBenchmarks()
176 if (family->use_manual_time_) { in FindBenchmarks()
178 } else if (family->use_real_time_) { in FindBenchmarks()
183 if (!family->thread_counts_.empty()) { in FindBenchmarks()
188 instance.last_benchmark_instance = (&args == &family->args_.back()); in FindBenchmarks()