benchmark/src/benchmark_api_internal.h
Go to the documentation of this file.
1 #ifndef BENCHMARK_API_INTERNAL_H
2 #define BENCHMARK_API_INTERNAL_H
3 
4 #include <cmath>
5 #include <iosfwd>
6 #include <limits>
7 #include <memory>
8 #include <string>
9 #include <vector>
10 
11 #include "benchmark/benchmark.h"
12 #include "commandlineflags.h"
13 
14 namespace benchmark {
15 namespace internal {
16 
17 // Information kept per benchmark we may want to run
19  public:
22  const std::vector<int64_t>& args, int threads);
23 
24  const BenchmarkName& name() const { return name_; }
25  int family_index() const { return family_index_; }
29  }
30  TimeUnit time_unit() const { return time_unit_; }
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_; }
36  const std::vector<Statistics>& statistics() const { return statistics_; }
37  int repetitions() const { return repetitions_; }
38  double min_time() const { return min_time_; }
40  int threads() const { return threads_; }
41 
43  internal::ThreadManager* manager,
44  internal::PerfCountersMeasurement* perf_counters_measurement) const;
45 
46  private:
49  const int family_index_;
52  const std::vector<int64_t>& args_;
60  const std::vector<Statistics>& statistics_;
62  double min_time_;
64  int threads_; // Number of concurrent threads to us
65 };
66 
67 bool FindBenchmarksInternal(const std::string& re,
68  std::vector<BenchmarkInstance>* benchmarks,
69  std::ostream* Err);
70 
71 bool IsZero(double n);
72 
73 ConsoleReporter::OutputOptions GetOutputOptions(bool force_no_color = false);
74 
75 } // end namespace internal
76 } // end namespace benchmark
77 
78 #endif // BENCHMARK_API_INTERNAL_H
benchmark::internal::BenchmarkInstance::measure_process_cpu_time
bool measure_process_cpu_time() const
Definition: benchmark/src/benchmark_api_internal.h:31
benchmark::internal::BenchmarkInstance::use_manual_time_
bool use_manual_time_
Definition: benchmark/src/benchmark_api_internal.h:56
benchmark
Definition: bm_alarm.cc:55
benchmark::internal::PerfCountersMeasurement
Definition: perf_counters.h:125
benchmarks
Definition: third_party/bloaty/third_party/protobuf/benchmarks/__init__.py:1
benchmark::internal::IsZero
bool IsZero(double n)
Definition: benchmark/src/benchmark.cc:407
benchmark::internal::ThreadTimer
Definition: thread_timer.h:10
benchmark::internal::BenchmarkInstance::time_unit_
TimeUnit time_unit_
Definition: benchmark/src/benchmark_api_internal.h:53
benchmark::internal::BenchmarkInstance::complexity_
BigO complexity_
Definition: benchmark/src/benchmark_api_internal.h:57
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
benchmark::internal::BenchmarkInstance::iterations
IterationCount iterations() const
Definition: benchmark/src/benchmark_api_internal.h:39
benchmark::internal::BenchmarkInstance::args_
const std::vector< int64_t > & args_
Definition: benchmark/src/benchmark_api_internal.h:52
benchmark::internal::BenchmarkInstance::repetitions
int repetitions() const
Definition: benchmark/src/benchmark_api_internal.h:37
benchmark::internal::BenchmarkInstance::statistics_
const std::vector< Statistics > & statistics_
Definition: benchmark/src/benchmark_api_internal.h:60
benchmark::internal::BenchmarkInstance
Definition: benchmark/src/benchmark_api_internal.h:18
benchmark::internal::BenchmarkInstance::complexity
BigO complexity() const
Definition: benchmark/src/benchmark_api_internal.h:34
benchmark::TimeUnit
TimeUnit
Definition: benchmark/include/benchmark/benchmark.h:443
benchmark::internal::BenchmarkInstance::min_time_
double min_time_
Definition: benchmark/src/benchmark_api_internal.h:62
benchmark::internal::BenchmarkInstance::per_family_instance_index
int per_family_instance_index() const
Definition: benchmark/src/benchmark_api_internal.h:26
benchmark::BenchmarkName
Definition: benchmark/include/benchmark/benchmark.h:1393
benchmark::internal::BenchmarkInstance::threads_
int threads_
Definition: benchmark/src/benchmark_api_internal.h:64
benchmark::internal::BenchmarkInstance::name
const BenchmarkName & name() const
Definition: benchmark/src/benchmark_api_internal.h:24
benchmark::internal::BenchmarkInstance::aggregation_report_mode_
AggregationReportMode aggregation_report_mode_
Definition: benchmark/src/benchmark_api_internal.h:51
benchmark::internal::GetOutputOptions
ConsoleReporter::OutputOptions GetOutputOptions(bool force_no_color)
Definition: benchmark/src/benchmark.cc:411
asyncio_get_stats.args
args
Definition: asyncio_get_stats.py:40
benchmark::internal::BenchmarkInstance::BenchmarkInstance
BenchmarkInstance(Benchmark *benchmark, int family_index, int per_family_instance_index, const std::vector< int64_t > &args, int threads)
Definition: benchmark_api_internal.cc:10
benchmark::IterationCount
uint64_t IterationCount
Definition: benchmark/include/benchmark/benchmark.h:451
benchmark::ConsoleReporter::OutputOptions
OutputOptions
Definition: benchmark/include/benchmark/benchmark.h:1573
benchmark::internal::BenchmarkInstance::statistics
const std::vector< Statistics > & statistics() const
Definition: benchmark/src/benchmark_api_internal.h:36
benchmark::internal::BenchmarkInstance::use_manual_time
bool use_manual_time() const
Definition: benchmark/src/benchmark_api_internal.h:33
benchmark::internal::BenchmarkInstance::family_index_
const int family_index_
Definition: benchmark/src/benchmark_api_internal.h:49
benchmark::internal::BenchmarkInstance::complexity_lambda
BigOFunc * complexity_lambda() const
Definition: benchmark/src/benchmark_api_internal.h:35
benchmark::internal::BenchmarkInstance::benchmark_
Benchmark & benchmark_
Definition: benchmark/src/benchmark_api_internal.h:48
benchmark::internal::Benchmark
Definition: benchmark/include/benchmark/benchmark.h:834
benchmark::UserCounters
std::map< std::string, Counter > UserCounters
Definition: benchmark/include/benchmark/benchmark.h:439
benchmark::internal::BenchmarkInstance::family_index
int family_index() const
Definition: benchmark/src/benchmark_api_internal.h:25
thread_id
static uv_thread_t thread_id
Definition: benchmark-million-async.c:32
benchmark::internal::BenchmarkInstance::use_real_time
bool use_real_time() const
Definition: benchmark/src/benchmark_api_internal.h:32
benchmark::State
Definition: benchmark/include/benchmark/benchmark.h:503
commandlineflags.h
benchmark::internal::BenchmarkInstance::name_
BenchmarkName name_
Definition: benchmark/src/benchmark_api_internal.h:47
benchmark::internal::ThreadManager
Definition: third_party/benchmark/src/thread_manager.h:12
benchmark::internal::BenchmarkInstance::iterations_
IterationCount iterations_
Definition: benchmark/src/benchmark_api_internal.h:63
benchmark::internal::AggregationReportMode
AggregationReportMode
Definition: benchmark/include/benchmark/benchmark.h:479
benchmark::internal::BenchmarkInstance::aggregation_report_mode
AggregationReportMode aggregation_report_mode() const
Definition: benchmark/src/benchmark_api_internal.h:27
benchmark::BigO
BigO
Definition: benchmark/include/benchmark/benchmark.h:449
benchmark::internal::BenchmarkInstance::time_unit
TimeUnit time_unit() const
Definition: benchmark/src/benchmark_api_internal.h:30
benchmark::internal::BenchmarkInstance::counters_
UserCounters counters_
Definition: benchmark/src/benchmark_api_internal.h:59
benchmark::internal::BenchmarkInstance::complexity_lambda_
BigOFunc * complexity_lambda_
Definition: benchmark/src/benchmark_api_internal.h:58
internal
Definition: benchmark/test/output_test_helper.cc:20
benchmark::internal::BenchmarkInstance::threads
int threads() const
Definition: benchmark/src/benchmark_api_internal.h:40
benchmark::internal::BenchmarkInstance::measure_process_cpu_time_
bool measure_process_cpu_time_
Definition: benchmark/src/benchmark_api_internal.h:54
benchmark::internal::BenchmarkInstance::use_real_time_
bool use_real_time_
Definition: benchmark/src/benchmark_api_internal.h:55
benchmark::internal::BenchmarkInstance::per_family_instance_index_
const int per_family_instance_index_
Definition: benchmark/src/benchmark_api_internal.h:50
benchmark::internal::BenchmarkInstance::repetitions_
int repetitions_
Definition: benchmark/src/benchmark_api_internal.h:61
benchmark::internal::BenchmarkInstance::min_time
double min_time() const
Definition: benchmark/src/benchmark_api_internal.h:38
benchmark::internal::FindBenchmarksInternal
bool FindBenchmarksInternal(const std::string &re, std::vector< BenchmarkInstance > *benchmarks, std::ostream *Err)
Definition: benchmark/src/benchmark_register.cc:192
benchmark::internal::BenchmarkInstance::Run
State Run(IterationCount iters, int thread_id, internal::ThreadTimer *timer, internal::ThreadManager *manager, internal::PerfCountersMeasurement *perf_counters_measurement) const
Definition: benchmark_api_internal.cc:83
benchmark::BigOFunc
double() BigOFunc(IterationCount)
Definition: benchmark/include/benchmark/benchmark.h:457
timer
static uv_timer_t timer
Definition: test-callback-stack.c:34


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:36