Go to the documentation of this file.
15 #include "absl/functional/function_ref.h"
19 #include "benchmark/benchmark.h"
20 #include "absl/base/attributes.h"
30 struct TrivialFunctor {
41 f(std::forward<Args>(
args)...);
44 template <
typename Function,
typename Callable,
typename...
Args>
48 CallFunction<Function>(c, std::forward<Args>(
args)...);
86 template <
typename Function,
typename Callable,
typename...
Args>
96 struct FunctorWithTrivialArgs {
106 state, FunctorWithTrivialArgs{}, 1, 2, 3);
112 state, FunctorWithTrivialArgs{}, 1, 2, 3);
116 struct FunctorWithNonTrivialArgs {
128 state, FunctorWithNonTrivialArgs{},
a,
b, c);
136 state, FunctorWithNonTrivialArgs{},
a,
b,
c);
void ConstructAndCallFunctionBenchmark(benchmark::State &state, const Callable &c, Args &&... args)
void BM_LargeStdFunction(benchmark::State &state)
void operator()(int a, int b, int c) const
BENCHMARK_ALWAYS_INLINE void DoNotOptimize(Tp const &value)
void BM_NonTrivialArgsFunctionRef(benchmark::State &state)
void CallFunctionBenchmark(benchmark::State &state, const Callable &c, Args... args)
#define ABSL_NAMESPACE_END
#define ABSL_ATTRIBUTE_NOINLINE
void BM_NonTrivialArgsStdFunction(benchmark::State &state)
#define ABSL_NAMESPACE_BEGIN
void BM_TrivialFunctionRef(benchmark::State &state)
void BM_FunPtrStdFunction(benchmark::State &state)
void BM_TrivialArgsStdFunction(benchmark::State &state)
void BM_FunPtrFunctionRef(benchmark::State &state)
void BM_TrivialArgsFunctionRef(benchmark::State &state)
void ABSL_ATTRIBUTE_NOINLINE CallFunction(Function f, Args &&... args)
void operator()(std::string a, std::string b, std::string c) const
void BM_TrivialStdFunction(benchmark::State &state)
void BM_LargeFunctionRef(benchmark::State &state)
static struct rpc_state state
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:22