bloaty/third_party/re2/util/benchmark.h
Go to the documentation of this file.
1 // Copyright 2009 The RE2 Authors. All Rights Reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4 
5 #ifndef UTIL_BENCHMARK_H_
6 #define UTIL_BENCHMARK_H_
7 
8 #include <stdint.h>
9 
10 namespace testing {
11 struct Benchmark {
12  const char* name;
13  void (*fn)(int);
14  void (*fnr)(int, int);
15  int lo;
16  int hi;
17  int threadlo;
18  int threadhi;
19 
20  void Register();
21  Benchmark(const char* name, void (*f)(int)) { Clear(name); fn = f; Register(); }
22  Benchmark(const char* name, void (*f)(int, int), int l, int h) { Clear(name); fnr = f; lo = l; hi = h; Register(); }
23  void Clear(const char* n) { name = n; fn = 0; fnr = 0; lo = 0; hi = 0; threadlo = 0; threadhi = 0; }
24  Benchmark* ThreadRange(int lo, int hi) { threadlo = lo; threadhi = hi; return this; }
25 };
26 } // namespace testing
27 
29 void StopBenchmarkTiming();
33 
34 int NumCPUs();
35 
36 #define BENCHMARK(f) \
37  ::testing::Benchmark* _benchmark_##f = (new ::testing::Benchmark(#f, f))
38 
39 #define BENCHMARK_RANGE(f, lo, hi) \
40  ::testing::Benchmark* _benchmark_##f = \
41  (new ::testing::Benchmark(#f, f, lo, hi))
42 
43 #endif // UTIL_BENCHMARK_H_
testing
Definition: aws_request_signer_test.cc:25
StopBenchmarkTiming
void StopBenchmarkTiming()
Definition: bloaty/third_party/re2/util/benchmark.cc:51
StartBenchmarkTiming
void StartBenchmarkTiming()
Definition: bloaty/third_party/re2/util/benchmark.cc:57
testing::Benchmark::Clear
void Clear(const char *n)
Definition: bloaty/third_party/re2/util/benchmark.h:23
testing::Benchmark::ThreadRange
Benchmark * ThreadRange(int lo, int hi)
Definition: bloaty/third_party/re2/util/benchmark.h:24
testing::Benchmark::hi
int hi
Definition: bloaty/third_party/re2/util/benchmark.h:16
testing::Benchmark::fn
void(* fn)(int)
Definition: bloaty/third_party/re2/util/benchmark.h:13
SetBenchmarkItemsProcessed
void SetBenchmarkItemsProcessed(int)
Definition: bloaty/third_party/re2/util/benchmark.cc:62
BenchmarkMemoryUsage
void BenchmarkMemoryUsage()
Definition: bloaty/third_party/re2/util/benchmark.cc:66
testing::Benchmark::name
const char * name
Definition: bloaty/third_party/re2/util/benchmark.h:12
xds_interop_client.int
int
Definition: xds_interop_client.py:113
int64_t
signed __int64 int64_t
Definition: stdint-msvc2008.h:89
n
int n
Definition: abseil-cpp/absl/container/btree_test.cc:1080
stdint.h
testing::Benchmark::threadlo
int threadlo
Definition: bloaty/third_party/re2/util/benchmark.h:17
testing::Benchmark::fnr
void(* fnr)(int, int)
Definition: bloaty/third_party/re2/util/benchmark.h:14
testing::Benchmark::Benchmark
Benchmark(const char *name, void(*f)(int))
Definition: bloaty/third_party/re2/util/benchmark.h:21
testing::Benchmark::Register
void Register()
Definition: bloaty/third_party/re2/util/benchmark.cc:28
testing::Benchmark::threadhi
int threadhi
Definition: bloaty/third_party/re2/util/benchmark.h:18
NumCPUs
int NumCPUs()
Definition: abseil-cpp/absl/base/internal/sysinfo.cc:347
testing::Benchmark
Definition: bloaty/third_party/re2/util/benchmark.h:11
testing::Benchmark::Benchmark
Benchmark(const char *name, void(*f)(int, int), int l, int h)
Definition: bloaty/third_party/re2/util/benchmark.h:22
testing::Benchmark::lo
int lo
Definition: bloaty/third_party/re2/util/benchmark.h:15
SetBenchmarkBytesProcessed
void SetBenchmarkBytesProcessed(int64_t)
Definition: bloaty/third_party/re2/util/benchmark.cc:47


grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:46