Macros | Variables
abseil-cpp/absl/flags/flag_benchmark.cc File Reference
#include <stdint.h>
#include <string>
#include <vector>
#include "absl/flags/flag.h"
#include "absl/flags/marshalling.h"
#include "absl/flags/parse.h"
#include "absl/flags/reflection.h"
#include "absl/strings/string_view.h"
#include "absl/time/time.h"
#include "absl/types/optional.h"
#include "benchmark/benchmark.h"
Include dependency graph for abseil-cpp/absl/flags/flag_benchmark.cc:

Go to the source code of this file.

Macros

#define BENCHMARKED_TYPES(A)
 
#define BLOAT_FLAG(_unused1, _unused2, index)   ABSL_FLAG(int, bloat_flag_##index, 0, "");
 
#define BM_ManyGetFlag(T)
 
#define BM_SingleGetFlag(T)
 
#define COUNT(T, name, index)   +1
 
#define DEFINE_FLAG(T, name, index)   ABSL_FLAG(T, name##_##index, {}, "");
 
#define FLAG_DEF(T)   REPLICATE(DEFINE_FLAG, T, T##_flag);
 
#define FLAG_PTR(T, name, index)   &FLAGS_##name##_##index,
 
#define FLAG_PTR_ARR(T)
 
#define InvokeGetFlag(T)
 
#define REPLICATE(A, T, name)   REPLICATE_9(A, T, name, 0) REPLICATE_9(A, T, name, 1)
 
#define REPLICATE_0(A, T, name, index)   A(T, name, index)
 
#define REPLICATE_1(A, T, name, index)   REPLICATE_0(A, T, name, index##0) REPLICATE_0(A, T, name, index##1)
 
#define REPLICATE_2(A, T, name, index)   REPLICATE_1(A, T, name, index##0) REPLICATE_1(A, T, name, index##1)
 
#define REPLICATE_3(A, T, name, index)   REPLICATE_2(A, T, name, index##0) REPLICATE_2(A, T, name, index##1)
 
#define REPLICATE_4(A, T, name, index)   REPLICATE_3(A, T, name, index##0) REPLICATE_3(A, T, name, index##1)
 
#define REPLICATE_5(A, T, name, index)   REPLICATE_4(A, T, name, index##0) REPLICATE_4(A, T, name, index##1)
 
#define REPLICATE_6(A, T, name, index)   REPLICATE_5(A, T, name, index##0) REPLICATE_5(A, T, name, index##1)
 
#define REPLICATE_7(A, T, name, index)   REPLICATE_6(A, T, name, index##0) REPLICATE_6(A, T, name, index##1)
 
#define REPLICATE_8(A, T, name, index)   REPLICATE_7(A, T, name, index##0) REPLICATE_7(A, T, name, index##1)
 
#define REPLICATE_9(A, T, name, index)   REPLICATE_8(A, T, name, index##0) REPLICATE_8(A, T, name, index##1)
 
#define REPLICATE_ALL(A, T, name)   REPLICATE_9(A, T, name, 0) REPLICATE_9(A, T, name, 1)
 
#define SINGLE_FLAG(T)   FLAGS_##T##_flag_0000000000
 

Variables

constexpr size_t kNumFlags = 0 REPLICATE(COUNT, _, _)
 

Macro Definition Documentation

◆ BENCHMARKED_TYPES

#define BENCHMARKED_TYPES (   A)
Value:
A(bool) \
A(int16_t) \
A(uint16_t) \
A(int32_t) \
A(uint32_t) \
A(int64_t) \
A(uint64_t) \
A(double) \
A(float) \
A(String) \
A(VectorOfStrings) \
A(OptionalInt) \
A(OptionalString) \
A(AbslDuration) \
A(UDT)

Definition at line 87 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ BLOAT_FLAG

#define BLOAT_FLAG (   _unused1,
  _unused2,
  index 
)    ABSL_FLAG(int, bloat_flag_##index, 0, "");

Definition at line 153 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ BM_ManyGetFlag

#define BM_ManyGetFlag (   T)
Value:
void BM_ManyGetFlag_##T(benchmark::State& state) { \
while (state.KeepRunningBatch(kNumFlags)) { \
for (auto* flag_ptr : FlagPtrs_##T) { \
Accumulate(res, absl::GetFlag(*flag_ptr)); \
} \
} \
} \
BENCHMARK(BM_ManyGetFlag_##T)->ThreadRange(1, 8);

Definition at line 213 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ BM_SingleGetFlag

#define BM_SingleGetFlag (   T)
Value:
void BM_SingleGetFlag_##T(benchmark::State& state) { \
for (auto _ : state) { \
} \
} \
BENCHMARK(BM_SingleGetFlag_##T)->ThreadRange(1, 16);

Definition at line 165 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ COUNT

#define COUNT (   T,
  name,
  index 
)    +1

Definition at line 135 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ DEFINE_FLAG

#define DEFINE_FLAG (   T,
  name,
  index 
)    ABSL_FLAG(T, name##_##index, {}, "");

Definition at line 145 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ FLAG_DEF

#define FLAG_DEF (   T)    REPLICATE(DEFINE_FLAG, T, T##_flag);

Definition at line 146 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ FLAG_PTR

#define FLAG_PTR (   T,
  name,
  index 
)    &FLAGS_##name##_##index,

Definition at line 159 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ FLAG_PTR_ARR

#define FLAG_PTR_ARR (   T)
Value:
static constexpr absl::Flag<T>* FlagPtrs_##T[] = { \
REPLICATE(FLAG_PTR, T, T##_flag)};

Definition at line 160 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ InvokeGetFlag

#define InvokeGetFlag (   T)
Value:
T AbslInvokeGetFlag##T() { return absl::GetFlag(SINGLE_FLAG(T)); } \
int odr##T = (benchmark::DoNotOptimize(AbslInvokeGetFlag##T), 1);

Definition at line 244 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE

#define REPLICATE (   A,
  T,
  name 
)    REPLICATE_9(A, T, name, 0) REPLICATE_9(A, T, name, 1)

Definition at line 128 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_0

#define REPLICATE_0 (   A,
  T,
  name,
  index 
)    A(T, name, index)

Definition at line 104 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_1

#define REPLICATE_1 (   A,
  T,
  name,
  index 
)    REPLICATE_0(A, T, name, index##0) REPLICATE_0(A, T, name, index##1)

Definition at line 105 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_2

#define REPLICATE_2 (   A,
  T,
  name,
  index 
)    REPLICATE_1(A, T, name, index##0) REPLICATE_1(A, T, name, index##1)

Definition at line 107 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_3

#define REPLICATE_3 (   A,
  T,
  name,
  index 
)    REPLICATE_2(A, T, name, index##0) REPLICATE_2(A, T, name, index##1)

Definition at line 109 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_4

#define REPLICATE_4 (   A,
  T,
  name,
  index 
)    REPLICATE_3(A, T, name, index##0) REPLICATE_3(A, T, name, index##1)

Definition at line 111 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_5

#define REPLICATE_5 (   A,
  T,
  name,
  index 
)    REPLICATE_4(A, T, name, index##0) REPLICATE_4(A, T, name, index##1)

Definition at line 113 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_6

#define REPLICATE_6 (   A,
  T,
  name,
  index 
)    REPLICATE_5(A, T, name, index##0) REPLICATE_5(A, T, name, index##1)

Definition at line 115 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_7

#define REPLICATE_7 (   A,
  T,
  name,
  index 
)    REPLICATE_6(A, T, name, index##0) REPLICATE_6(A, T, name, index##1)

Definition at line 117 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_8

#define REPLICATE_8 (   A,
  T,
  name,
  index 
)    REPLICATE_7(A, T, name, index##0) REPLICATE_7(A, T, name, index##1)

Definition at line 119 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_9

#define REPLICATE_9 (   A,
  T,
  name,
  index 
)    REPLICATE_8(A, T, name, index##0) REPLICATE_8(A, T, name, index##1)

Definition at line 121 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ REPLICATE_ALL

#define REPLICATE_ALL (   A,
  T,
  name 
)    REPLICATE_9(A, T, name, 0) REPLICATE_9(A, T, name, 1)

Definition at line 132 of file abseil-cpp/absl/flags/flag_benchmark.cc.

◆ SINGLE_FLAG

#define SINGLE_FLAG (   T)    FLAGS_##T##_flag_0000000000

Definition at line 130 of file abseil-cpp/absl/flags/flag_benchmark.cc.

Variable Documentation

◆ kNumFlags

constexpr size_t kNumFlags = 0 REPLICATE(COUNT, _, _)
constexpr

Definition at line 136 of file abseil-cpp/absl/flags/flag_benchmark.cc.

uint16_t
unsigned short uint16_t
Definition: stdint-msvc2008.h:79
SINGLE_FLAG
#define SINGLE_FLAG(T)
Definition: abseil-cpp/absl/flags/flag_benchmark.cc:130
benchmark::DoNotOptimize
BENCHMARK_ALWAYS_INLINE void DoNotOptimize(Tp const &value)
Definition: benchmark/include/benchmark/benchmark.h:375
T
#define T(upbtypeconst, upbtype, ctype, default_value)
uint32_t
unsigned int uint32_t
Definition: stdint-msvc2008.h:80
int16_t
signed short int16_t
Definition: stdint-msvc2008.h:76
int64_t
signed __int64 int64_t
Definition: stdint-msvc2008.h:89
gmock_output_test._
_
Definition: bloaty/third_party/googletest/googlemock/test/gmock_output_test.py:175
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90
A
#define A(T)
kNumFlags
constexpr size_t kNumFlags
Definition: abseil-cpp/absl/flags/flag_benchmark.cc:136
absl::GetFlag
ABSL_MUST_USE_RESULT T GetFlag(const absl::Flag< T > &flag)
Definition: abseil-cpp/absl/flags/flag.h:98
odr
int odr
Definition: abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc:437
absl::flags_internal::Flag
Definition: abseil-cpp/absl/flags/declare.h:36
benchmark::State
Definition: benchmark/include/benchmark/benchmark.h:503
state
Definition: bloaty/third_party/zlib/contrib/blast/blast.c:41
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
FLAG_PTR
#define FLAG_PTR(T, name, index)
Definition: abseil-cpp/absl/flags/flag_benchmark.cc:159
int32_t
signed int int32_t
Definition: stdint-msvc2008.h:77


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