Classes | Namespaces | Macros | Enumerations | Functions | Variables
protobuf/third_party/benchmark/include/benchmark/benchmark.h File Reference
#include <stdint.h>
#include <cassert>
#include <cstddef>
#include <iosfwd>
#include <string>
#include <vector>
#include <map>
#include <set>
Include dependency graph for protobuf/third_party/benchmark/include/benchmark/benchmark.h:

Go to the source code of this file.

Classes

class  benchmark::internal::Benchmark
 
class  benchmark::BenchmarkReporter
 
class  benchmark::ConsoleReporter
 
struct  benchmark::BenchmarkReporter::Context
 
class  benchmark::Counter
 
class  benchmark::CSVReporter
 
class  benchmark::Fixture
 
class  benchmark::internal::FunctionBenchmark
 
class  benchmark::JSONReporter
 
struct  benchmark::BenchmarkReporter::Run
 
class  benchmark::State
 

Namespaces

 benchmark
 
 benchmark::internal
 

Macros

#define BENCHMARK(n)
 
#define BENCHMARK_ALWAYS_INLINE
 
#define BENCHMARK_BUILTIN_EXPECT(x, y)   x
 
#define BENCHMARK_DEFINE_F(BaseClass, Method)
 
#define BENCHMARK_DEPRECATED_MSG(msg)
 
#define BENCHMARK_DISALLOW_COPY_AND_ASSIGN(TypeName)
 
#define BENCHMARK_F(BaseClass, Method)
 
#define BENCHMARK_HAS_NO_INLINE_ASSEMBLY
 
#define BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK
 
#define BENCHMARK_INTERNAL_TOSTRING(x)   BENCHMARK_INTERNAL_TOSTRING2(x)
 
#define BENCHMARK_INTERNAL_TOSTRING2(x)   #x
 
#define BENCHMARK_MAIN()
 
#define BENCHMARK_NOEXCEPT
 
#define BENCHMARK_NOEXCEPT_OP(x)
 
#define BENCHMARK_PRIVATE_CONCAT(a, b, c)   BENCHMARK_PRIVATE_CONCAT2(a, b, c)
 
#define BENCHMARK_PRIVATE_CONCAT2(a, b, c)   a##b##c
 
#define BENCHMARK_PRIVATE_DECLARE(n)
 
#define BENCHMARK_PRIVATE_DECLARE_F(BaseClass, Method)
 
#define BENCHMARK_PRIVATE_NAME(n)   BENCHMARK_PRIVATE_CONCAT(_benchmark_, BENCHMARK_PRIVATE_UNIQUE_ID, n)
 
#define BENCHMARK_PRIVATE_REGISTER_F(TestName)
 
#define BENCHMARK_PRIVATE_UNIQUE_ID   __LINE__
 
#define BENCHMARK_RANGE(n, lo, hi)   BENCHMARK(n)->Range((lo), (hi))
 
#define BENCHMARK_RANGE2(n, l1, h1, l2, h2)   BENCHMARK(n)->RangePair({{(l1), (h1)}, {(l2), (h2)}})
 
#define BENCHMARK_REGISTER_F(BaseClass, Method)   BENCHMARK_PRIVATE_REGISTER_F(BaseClass##_##Method##_Benchmark)
 
#define BENCHMARK_TEMPLATE(n, a)   BENCHMARK_TEMPLATE1(n, a)
 
#define BENCHMARK_TEMPLATE1(n, a)
 
#define BENCHMARK_TEMPLATE2(n, a, b)
 
#define BENCHMARK_UNUSED
 
#define BENCHMARK_WARNING_MSG(msg)   __pragma(message(__FILE__ "(" BENCHMARK_INTERNAL_TOSTRING(__LINE__) ") : warning note: " msg))
 
#define BENCHMARK_WITH_ARG(n, a)   BENCHMARK(n)->Arg((a))
 
#define BENCHMARK_WITH_ARG2(n, a1, a2)   BENCHMARK(n)->Args({(a1), (a2)})
 
#define BENCHMARK_WITH_UNIT(n, t)   BENCHMARK(n)->Unit((t))
 

Enumerations

enum  benchmark::BigO {
  benchmark::oNone, benchmark::o1, benchmark::oN, benchmark::oNSquared,
  benchmark::oNCubed, benchmark::oLogN, benchmark::oNLogN, benchmark::oAuto,
  benchmark::oLambda, benchmark::oNone, benchmark::o1, benchmark::oN,
  benchmark::oNSquared, benchmark::oNCubed, benchmark::oLogN, benchmark::oNLogN,
  benchmark::oAuto, benchmark::oLambda, benchmark::oNone, benchmark::o1,
  benchmark::oN, benchmark::oNSquared, benchmark::oNCubed, benchmark::oLogN,
  benchmark::oNLogN, benchmark::oAuto, benchmark::oLambda
}
 
enum  benchmark::internal::ReportMode {
  benchmark::internal::RM_Unspecified, benchmark::internal::RM_Default, benchmark::internal::RM_ReportAggregatesOnly, benchmark::internal::RM_Unspecified,
  benchmark::internal::RM_Default, benchmark::internal::RM_ReportAggregatesOnly
}
 
enum  benchmark::TimeUnit {
  benchmark::kNanosecond, benchmark::kMicrosecond, benchmark::kMillisecond, benchmark::kSecond,
  benchmark::kNanosecond, benchmark::kMicrosecond, benchmark::kMillisecond, benchmark::kNanosecond,
  benchmark::kMicrosecond, benchmark::kMillisecond
}
 

Functions

void benchmark::ClearRegisteredBenchmarks ()
 
template<class Tp >
BENCHMARK_ALWAYS_INLINE void benchmark::DoNotOptimize (Tp const &value)
 
double benchmark::GetTimeUnitMultiplier (TimeUnit unit)
 
const char * benchmark::GetTimeUnitString (TimeUnit unit)
 
void benchmark::Initialize (int *argc, char **argv)
 
int benchmark::internal::InitializeStreams ()
 
internal::Benchmark * benchmark::RegisterBenchmark (const char *name, internal::Function *fn)
 
Benchmark * benchmark::internal::RegisterBenchmarkInternal (Benchmark *)
 
bool benchmark::ReportUnrecognizedArguments (int argc, char **argv)
 
size_t benchmark::RunSpecifiedBenchmarks ()
 
size_t benchmark::RunSpecifiedBenchmarks (BenchmarkReporter *display_reporter)
 
size_t benchmark::RunSpecifiedBenchmarks (BenchmarkReporter *display_reporter, BenchmarkReporter *file_reporter)
 
void benchmark::internal::UseCharPointer (char const volatile *)
 

Variables

static BENCHMARK_UNUSED int benchmark::internal::stream_init_anchor = InitializeStreams()
 

Macro Definition Documentation

◆ BENCHMARK

#define BENCHMARK (   n)
Value:
new ::benchmark::internal::FunctionBenchmark(#n, n)))

Definition at line 895 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_ALWAYS_INLINE

#define BENCHMARK_ALWAYS_INLINE

◆ BENCHMARK_BUILTIN_EXPECT

#define BENCHMARK_BUILTIN_EXPECT (   x,
  y 
)    x

◆ BENCHMARK_DEFINE_F

#define BENCHMARK_DEFINE_F (   BaseClass,
  Method 
)
Value:
void BaseClass##_##Method##_Benchmark::BenchmarkCase

Definition at line 970 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_DEPRECATED_MSG

#define BENCHMARK_DEPRECATED_MSG (   msg)

◆ BENCHMARK_DISALLOW_COPY_AND_ASSIGN

#define BENCHMARK_DISALLOW_COPY_AND_ASSIGN (   TypeName)
Value:
TypeName(const TypeName&); \
TypeName& operator=(const TypeName&)

Definition at line 192 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_F

#define BENCHMARK_F (   BaseClass,
  Method 
)
Value:
BENCHMARK_REGISTER_F(BaseClass, Method); \
void BaseClass##_##Method##_Benchmark::BenchmarkCase

Definition at line 982 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_HAS_NO_INLINE_ASSEMBLY

#define BENCHMARK_HAS_NO_INLINE_ASSEMBLY

◆ BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK

#define BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK

◆ BENCHMARK_INTERNAL_TOSTRING

#define BENCHMARK_INTERNAL_TOSTRING (   x)    BENCHMARK_INTERNAL_TOSTRING2(x)

◆ BENCHMARK_INTERNAL_TOSTRING2

#define BENCHMARK_INTERNAL_TOSTRING2 (   x)    #x

◆ BENCHMARK_MAIN

#define BENCHMARK_MAIN ( )
Value:
int main(int argc, char** argv) { \
::benchmark::Initialize(&argc, argv); \
if (::benchmark::ReportUnrecognizedArguments(argc, argv)) return 1; \
}

Definition at line 988 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_NOEXCEPT

#define BENCHMARK_NOEXCEPT

◆ BENCHMARK_NOEXCEPT_OP

#define BENCHMARK_NOEXCEPT_OP (   x)

◆ BENCHMARK_PRIVATE_CONCAT

#define BENCHMARK_PRIVATE_CONCAT (   a,
  b,
  c 
)    BENCHMARK_PRIVATE_CONCAT2(a, b, c)

◆ BENCHMARK_PRIVATE_CONCAT2

#define BENCHMARK_PRIVATE_CONCAT2 (   a,
  b,
  c 
)    a##b##c

◆ BENCHMARK_PRIVATE_DECLARE

#define BENCHMARK_PRIVATE_DECLARE (   n)

◆ BENCHMARK_PRIVATE_DECLARE_F

#define BENCHMARK_PRIVATE_DECLARE_F (   BaseClass,
  Method 
)
Value:
class BaseClass##_##Method##_Benchmark : public BaseClass { \
public: \
BaseClass##_##Method##_Benchmark() : BaseClass() { \
this->SetName(#BaseClass "/" #Method); \
} \
\
protected: \
virtual void BenchmarkCase(::benchmark::State&); \
};

Definition at line 959 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_PRIVATE_NAME

#define BENCHMARK_PRIVATE_NAME (   n)    BENCHMARK_PRIVATE_CONCAT(_benchmark_, BENCHMARK_PRIVATE_UNIQUE_ID, n)

◆ BENCHMARK_PRIVATE_REGISTER_F

#define BENCHMARK_PRIVATE_REGISTER_F (   TestName)

◆ BENCHMARK_PRIVATE_UNIQUE_ID

#define BENCHMARK_PRIVATE_UNIQUE_ID   __LINE__

◆ BENCHMARK_RANGE

#define BENCHMARK_RANGE (   n,
  lo,
  hi 
)    BENCHMARK(n)->Range((lo), (hi))

◆ BENCHMARK_RANGE2

#define BENCHMARK_RANGE2 (   n,
  l1,
  h1,
  l2,
  h2 
)    BENCHMARK(n)->RangePair({{(l1), (h1)}, {(l2), (h2)}})

◆ BENCHMARK_REGISTER_F

#define BENCHMARK_REGISTER_F (   BaseClass,
  Method 
)    BENCHMARK_PRIVATE_REGISTER_F(BaseClass##_##Method##_Benchmark)

◆ BENCHMARK_TEMPLATE

#define BENCHMARK_TEMPLATE (   n,
  a 
)    BENCHMARK_TEMPLATE1(n, a)

◆ BENCHMARK_TEMPLATE1

#define BENCHMARK_TEMPLATE1 (   n,
  a 
)
Value:
new ::benchmark::internal::FunctionBenchmark(#n "<" #a ">", n<a>)))

Definition at line 938 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_TEMPLATE2

#define BENCHMARK_TEMPLATE2 (   n,
  a,
  b 
)
Value:
new ::benchmark::internal::FunctionBenchmark(#n "<" #a "," #b ">", \
n<a, b>)))

Definition at line 943 of file protobuf/third_party/benchmark/include/benchmark/benchmark.h.

◆ BENCHMARK_UNUSED

#define BENCHMARK_UNUSED

◆ BENCHMARK_WARNING_MSG

#define BENCHMARK_WARNING_MSG (   msg)    __pragma(message(__FILE__ "(" BENCHMARK_INTERNAL_TOSTRING(__LINE__) ") : warning note: " msg))

◆ BENCHMARK_WITH_ARG

#define BENCHMARK_WITH_ARG (   n,
  a 
)    BENCHMARK(n)->Arg((a))

◆ BENCHMARK_WITH_ARG2

#define BENCHMARK_WITH_ARG2 (   n,
  a1,
  a2 
)    BENCHMARK(n)->Args({(a1), (a2)})

◆ BENCHMARK_WITH_UNIT

#define BENCHMARK_WITH_UNIT (   n,
 
)    BENCHMARK(n)->Unit((t))
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
benchmark::internal::RegisterBenchmarkInternal
Benchmark * RegisterBenchmarkInternal(Benchmark *)
Definition: benchmark/src/benchmark_register.cc:183
benchmark::RunSpecifiedBenchmarks
size_t RunSpecifiedBenchmarks()
Definition: benchmark/src/benchmark.cc:437
BENCHMARK_PRIVATE_DECLARE
#define BENCHMARK_PRIVATE_DECLARE(n)
Definition: protobuf/third_party/benchmark/include/benchmark/benchmark.h:891
main
int main(int argc, char **argv)
Definition: examples/cpp/compression/greeter_client.cc:78
gmock_output_test._
_
Definition: bloaty/third_party/googletest/googlemock/test/gmock_output_test.py:175
benchmark::Initialize
void Initialize(int *argc, char **argv)
Definition: benchmark/src/benchmark.cc:602
b
uint64_t b
Definition: abseil-cpp/absl/container/internal/layout_test.cc:53
benchmark::ReportUnrecognizedArguments
bool ReportUnrecognizedArguments(int argc, char **argv)
Definition: benchmark/src/benchmark.cc:611
n
int n
Definition: abseil-cpp/absl/container/btree_test.cc:1080
absl::container_internal::internal_layout::adl_barrier::TypeName
std::string TypeName()
Definition: abseil-cpp/absl/container/internal/layout.h:295
BENCHMARK_PRIVATE_NAME
#define BENCHMARK_PRIVATE_NAME(n)
Definition: protobuf/third_party/benchmark/include/benchmark/benchmark.h:886
benchmark::State
Definition: benchmark/include/benchmark/benchmark.h:503
BENCHMARK_PRIVATE_DECLARE_F
#define BENCHMARK_PRIVATE_DECLARE_F(BaseClass, Method)
Definition: protobuf/third_party/benchmark/include/benchmark/benchmark.h:959
compare.Benchmark
def Benchmark(outbase, bench_cpu=True, runs=12, fasttable=False)
Definition: upb/benchmarks/compare.py:56
Method
Definition: bloaty/third_party/protobuf/src/google/protobuf/api.pb.h:320


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:04