Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
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 benchmark.h:
This graph shows which files directly or indirectly include this file:

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))
 

Typedefs

typedef double() benchmark::BigOFunc(int)
 
typedef void() benchmark::internal::Function(State &)
 
typedef std::map< std::string, Counterbenchmark::UserCounters
 

Enumerations

enum  benchmark::BigO {
  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 }
 
enum  benchmark::TimeUnit { 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 *console_reporter)
 
size_t benchmark::RunSpecifiedBenchmarks (BenchmarkReporter *console_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 benchmark.h.

◆ BENCHMARK_ALWAYS_INLINE

#define BENCHMARK_ALWAYS_INLINE

Definition at line 219 of file benchmark.h.

◆ BENCHMARK_BUILTIN_EXPECT

#define BENCHMARK_BUILTIN_EXPECT (   x,
  y 
)    x

Definition at line 231 of file benchmark.h.

◆ BENCHMARK_DEFINE_F

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

Definition at line 970 of file benchmark.h.

◆ BENCHMARK_DEPRECATED_MSG

#define BENCHMARK_DEPRECATED_MSG (   msg)

Definition at line 232 of file benchmark.h.

◆ 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 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 benchmark.h.

◆ BENCHMARK_HAS_NO_INLINE_ASSEMBLY

#define BENCHMARK_HAS_NO_INLINE_ASSEMBLY

Definition at line 293 of file benchmark.h.

◆ BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK

#define BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK

Definition at line 846 of file benchmark.h.

◆ BENCHMARK_INTERNAL_TOSTRING

#define BENCHMARK_INTERNAL_TOSTRING (   x)    BENCHMARK_INTERNAL_TOSTRING2(x)

Definition at line 225 of file benchmark.h.

◆ BENCHMARK_INTERNAL_TOSTRING2

#define BENCHMARK_INTERNAL_TOSTRING2 (   x)    #x

Definition at line 224 of file benchmark.h.

◆ 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 benchmark.h.

◆ BENCHMARK_NOEXCEPT

#define BENCHMARK_NOEXCEPT

Definition at line 220 of file benchmark.h.

◆ BENCHMARK_NOEXCEPT_OP

#define BENCHMARK_NOEXCEPT_OP (   x)

Definition at line 221 of file benchmark.h.

◆ BENCHMARK_PRIVATE_CONCAT

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

Definition at line 888 of file benchmark.h.

◆ BENCHMARK_PRIVATE_CONCAT2

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

Definition at line 889 of file benchmark.h.

◆ BENCHMARK_PRIVATE_DECLARE

#define BENCHMARK_PRIVATE_DECLARE (   n)
Value:
static ::benchmark::internal::Benchmark* BENCHMARK_PRIVATE_NAME(n) \
BENCHMARK_UNUSED

Definition at line 891 of file benchmark.h.

◆ 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 benchmark.h.

◆ BENCHMARK_PRIVATE_NAME

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

Definition at line 886 of file benchmark.h.

◆ BENCHMARK_PRIVATE_REGISTER_F

#define BENCHMARK_PRIVATE_REGISTER_F (   TestName)
Value:

Definition at line 977 of file benchmark.h.

◆ BENCHMARK_PRIVATE_UNIQUE_ID

#define BENCHMARK_PRIVATE_UNIQUE_ID   __LINE__

Definition at line 882 of file benchmark.h.

◆ BENCHMARK_RANGE

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

Definition at line 904 of file benchmark.h.

◆ BENCHMARK_RANGE2

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

Definition at line 905 of file benchmark.h.

◆ BENCHMARK_REGISTER_F

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

Definition at line 974 of file benchmark.h.

◆ BENCHMARK_TEMPLATE

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

Definition at line 956 of file benchmark.h.

◆ BENCHMARK_TEMPLATE1

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

Definition at line 938 of file benchmark.h.

◆ BENCHMARK_TEMPLATE2

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

Definition at line 943 of file benchmark.h.

◆ BENCHMARK_UNUSED

#define BENCHMARK_UNUSED

Definition at line 218 of file benchmark.h.

◆ BENCHMARK_WARNING_MSG

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

Definition at line 233 of file benchmark.h.

◆ BENCHMARK_WITH_ARG

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

Definition at line 901 of file benchmark.h.

◆ BENCHMARK_WITH_ARG2

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

Definition at line 902 of file benchmark.h.

◆ BENCHMARK_WITH_UNIT

#define BENCHMARK_WITH_UNIT (   n,
 
)    BENCHMARK(n)->Unit((t))

Definition at line 903 of file benchmark.h.

benchmark::internal::RegisterBenchmarkInternal
Benchmark * RegisterBenchmarkInternal(Benchmark *)
Definition: benchmark_register.cc:209
b
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:3228
BENCHMARK_PRIVATE_DECLARE
#define BENCHMARK_PRIVATE_DECLARE(n)
Definition: benchmark.h:891
gmock_output_test._
_
Definition: gmock_output_test.py:173
benchmark::Initialize
void Initialize(int *argc, char **argv)
Definition: benchmark.cc:703
benchmark::ReportUnrecognizedArguments
bool ReportUnrecognizedArguments(int argc, char **argv)
Definition: benchmark.cc:708
n
GLdouble n
Definition: glcorearb.h:4153
main
int main(int argc, char **argv)
Definition: cppzmq/demo/main.cpp:3
benchmark::State
Definition: benchmark.h:399
RunSpecifiedBenchmarks
static void RunSpecifiedBenchmarks()
Definition: glog/src/googletest.h:266
google::protobuf::compiler::php::TypeName
std::string TypeName(FieldDescriptor *field)
BENCHMARK_PRIVATE_DECLARE_F
#define BENCHMARK_PRIVATE_DECLARE_F(BaseClass, Method)
Definition: benchmark.h:959
BENCHMARK_PRIVATE_NAME
#define BENCHMARK_PRIVATE_NAME(n)
Definition: benchmark.h:886
a
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:3228
Method
Definition: api.pb.h:285


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:02