diff options
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_benchmark.cc')
-rw-r--r-- | src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_benchmark.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_benchmark.cc b/src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_benchmark.cc new file mode 100644 index 000000000..df2ebf95e --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_benchmark.cc @@ -0,0 +1,35 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include "src/common/random.h" + +#include <cstdint> +#include <random> + +#include <benchmark/benchmark.h> + +namespace +{ +using opentelemetry::sdk::common::Random; + +void BM_RandomIdGeneration(benchmark::State &state) +{ + while (state.KeepRunning()) + { + benchmark::DoNotOptimize(Random::GenerateRandom64()); + } +} +BENCHMARK(BM_RandomIdGeneration); + +void BM_RandomIdStdGeneration(benchmark::State &state) +{ + std::mt19937_64 generator{0}; + while (state.KeepRunning()) + { + benchmark::DoNotOptimize(generator()); + } +} +BENCHMARK(BM_RandomIdStdGeneration); + +} // namespace +BENCHMARK_MAIN(); |