Sha256: a830425367bcdaa7e20aabf6f3e05ce58174129b7c11e0dc5d7bb59df9320d5d
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
#include "benchmark/benchmark.h" #include <cassert> #include <memory> class MyFixture : public ::benchmark::Fixture { public: void SetUp(const ::benchmark::State& state) { if (state.thread_index == 0) { assert(data.get() == nullptr); data.reset(new int(42)); } } void TearDown(const ::benchmark::State& state) { if (state.thread_index == 0) { assert(data.get() != nullptr); data.reset(); } } ~MyFixture() { assert(data == nullptr); } std::unique_ptr<int> data; }; BENCHMARK_F(MyFixture, Foo)(benchmark::State &st) { assert(data.get() != nullptr); assert(*data == 42); for (auto _ : st) { } } BENCHMARK_DEFINE_F(MyFixture, Bar)(benchmark::State& st) { if (st.thread_index == 0) { assert(data.get() != nullptr); assert(*data == 42); } for (auto _ : st) { assert(data.get() != nullptr); assert(*data == 42); } st.SetItemsProcessed(st.range(0)); } BENCHMARK_REGISTER_F(MyFixture, Bar)->Arg(42); BENCHMARK_REGISTER_F(MyFixture, Bar)->Arg(42)->ThreadPerCpu(); BENCHMARK_MAIN();
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simdjson-0.3.0 | vendor/simdjson/dependencies/benchmark/test/fixture_test.cc |