Go to the documentation of this file.
15 #ifndef ABSL_RANDOM_INTERNAL_NANOBENCHMARK_H_
16 #define ABSL_RANDOM_INTERNAL_NANOBENCHMARK_H_
53 #include "absl/base/config.h"
57 namespace random_internal_nanobenchmark {
151 template <
class Closure>
153 return (*
reinterpret_cast<const Closure*
>(f))(
input);
158 template <
class Closure>
163 return Measure(
reinterpret_cast<Func>(&CallClosure<Closure>),
164 reinterpret_cast<const void*
>(&
closure), inputs, num_inputs,
172 #endif // ABSL_RANDOM_INTERNAL_NANOBENCHMARK_H_
size_t Measure(const Func func, const void *arg, const FuncInput *inputs, const size_t num_inputs, Result *results, const Params &p)
double InvariantTicksPerSecond()
void PinThreadToCPU(int cpu)
#define ABSL_NAMESPACE_END
#define ABSL_NAMESPACE_BEGIN
FuncOutput(*)(const void *, FuncInput) Func
static FuncOutput CallClosure(const void *f, const FuncInput input)
unsigned __int64 uint64_t
size_t max_measure_retries
size_t min_samples_per_eval
static size_t MeasureClosure(const Closure &closure, const FuncInput *inputs, const size_t num_inputs, Result *results, const Params &p=Params())
static constexpr size_t kTimerSamples
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:31