grpc
third_party
protobuf
third_party
benchmark
test
protobuf/third_party/benchmark/test/cxx03_test.cc
Go to the documentation of this file.
1
#undef NDEBUG
2
#include <cassert>
3
#include <cstddef>
4
5
#include "benchmark/benchmark.h"
6
7
#if __cplusplus >= 201103L
8
#error C++11 or greater detected. Should be C++03.
9
#endif
10
11
void
BM_empty
(
benchmark::State
&
state
) {
12
while
(
state
.KeepRunning()) {
13
volatile
std::size_t
x
=
state
.iterations();
14
((void)
x
);
15
}
16
}
17
BENCHMARK
(
BM_empty
);
18
19
// The new C++11 interface for args/ranges requires initializer list support.
20
// Therefore we provide the old interface to support C++03.
21
void
BM_old_arg_range_interface
(
benchmark::State
&
state
) {
22
assert((
state
.range(0) == 1 &&
state
.range(1) == 2) ||
23
(
state
.range(0) == 5 &&
state
.range(1) == 6));
24
while
(
state
.KeepRunning()) {
25
}
26
}
27
BENCHMARK
(
BM_old_arg_range_interface
)->ArgPair(1, 2)->RangePair(5, 5, 6, 6);
28
29
template
<
class
T,
class
U>
30
void
BM_template2
(
benchmark::State
&
state
) {
31
BM_empty
(
state
);
32
}
33
BENCHMARK_TEMPLATE2
(
BM_template2
,
int
,
long
);
34
35
template
<
class
T>
36
void
BM_template1
(
benchmark::State
&
state
) {
37
BM_empty
(
state
);
38
}
39
BENCHMARK_TEMPLATE
(
BM_template1
,
long
);
40
BENCHMARK_TEMPLATE1
(
BM_template1
,
int
);
41
42
void
BM_counters
(
benchmark::State
&
state
) {
43
BM_empty
(
state
);
44
state
.counters[
"Foo"
] = 2;
45
}
46
BENCHMARK
(
BM_counters
);
47
48
BENCHMARK_MAIN
()
BM_old_arg_range_interface
void BM_old_arg_range_interface(benchmark::State &state)
Definition:
protobuf/third_party/benchmark/test/cxx03_test.cc:21
BM_counters
void BM_counters(benchmark::State &state)
Definition:
protobuf/third_party/benchmark/test/cxx03_test.cc:42
BENCHMARK_TEMPLATE1
BENCHMARK_TEMPLATE1(BM_template1, int)
BENCHMARK
BENCHMARK(BM_empty)
BM_template2
void BM_template2(benchmark::State &state)
Definition:
protobuf/third_party/benchmark/test/cxx03_test.cc:30
x
int x
Definition:
bloaty/third_party/googletest/googlemock/test/gmock-matchers_test.cc:3610
BENCHMARK_TEMPLATE2
BENCHMARK_TEMPLATE2(BM_template2, int, long)
benchmark::State
Definition:
benchmark/include/benchmark/benchmark.h:503
BM_empty
void BM_empty(benchmark::State &state)
Definition:
protobuf/third_party/benchmark/test/cxx03_test.cc:11
BENCHMARK_MAIN
#define BENCHMARK_MAIN()
Definition:
benchmark/include/benchmark/benchmark.h:1338
state
Definition:
bloaty/third_party/zlib/contrib/blast/blast.c:41
BENCHMARK_TEMPLATE
BENCHMARK_TEMPLATE(BM_template1, long)
BM_template1
void BM_template1(benchmark::State &state)
Definition:
protobuf/third_party/benchmark/test/cxx03_test.cc:36
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:08