| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | // Copyright The OpenTelemetry Authors// SPDX-License-Identifier: Apache-2.0#include <benchmark/benchmark.h>#include <cstdint>#include "opentelemetry/nostd/span.h"#include "opentelemetry/trace/span_id.h"namespace{using opentelemetry::trace::SpanId;constexpr uint8_t bytes[] = {1, 2, 3, 4, 5, 6, 7, 8};void BM_SpanIdDefaultConstructor(benchmark::State &state){  while (state.KeepRunning())  {    benchmark::DoNotOptimize(SpanId());  }}BENCHMARK(BM_SpanIdDefaultConstructor);void BM_SpanIdConstructor(benchmark::State &state){  while (state.KeepRunning())  {    benchmark::DoNotOptimize(SpanId(bytes));  }}BENCHMARK(BM_SpanIdConstructor);void BM_SpanIdToLowerBase16(benchmark::State &state){  SpanId id(bytes);  char buf[SpanId::kSize * 2];  while (state.KeepRunning())  {    id.ToLowerBase16(buf);    benchmark::DoNotOptimize(buf);  }}BENCHMARK(BM_SpanIdToLowerBase16);void BM_SpanIdIsValid(benchmark::State &state){  SpanId id(bytes);  while (state.KeepRunning())  {    benchmark::DoNotOptimize(id.IsValid());  }}BENCHMARK(BM_SpanIdIsValid);}  // namespaceBENCHMARK_MAIN();
 |