brintos

brintos / llvm-project-archived public Read only

0
0
Text · 482 B · af239c3 Raw
29 lines · plain
1 2#include <cassert>3#include <memory>4 5#include "benchmark/benchmark.h"6 7template <typename T>8class MyFixture : public ::benchmark::Fixture {9 public:10  MyFixture() : data(0) {}11 12  T data;13};14 15BENCHMARK_TEMPLATE_F(MyFixture, Foo, int)(benchmark::State& st) {16  for (auto _ : st) {17    data += 1;18  }19}20 21BENCHMARK_TEMPLATE_DEFINE_F(MyFixture, Bar, double)(benchmark::State& st) {22  for (auto _ : st) {23    data += 1.0;24  }25}26BENCHMARK_REGISTER_F(MyFixture, Bar);27 28BENCHMARK_MAIN();29