annotate libcxx/utils/google-benchmark/test/templated_fixture_test.cc @ 167:e037d1dd7369

...
author anatofuz
date Tue, 24 Mar 2020 17:35:46 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1
anatofuz
parents:
diff changeset
2 #include "benchmark/benchmark.h"
anatofuz
parents:
diff changeset
3
anatofuz
parents:
diff changeset
4 #include <cassert>
anatofuz
parents:
diff changeset
5 #include <memory>
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7 template <typename T>
anatofuz
parents:
diff changeset
8 class MyFixture : public ::benchmark::Fixture {
anatofuz
parents:
diff changeset
9 public:
anatofuz
parents:
diff changeset
10 MyFixture() : data(0) {}
anatofuz
parents:
diff changeset
11
anatofuz
parents:
diff changeset
12 T data;
anatofuz
parents:
diff changeset
13 };
anatofuz
parents:
diff changeset
14
anatofuz
parents:
diff changeset
15 BENCHMARK_TEMPLATE_F(MyFixture, Foo, int)(benchmark::State& st) {
anatofuz
parents:
diff changeset
16 for (auto _ : st) {
anatofuz
parents:
diff changeset
17 data += 1;
anatofuz
parents:
diff changeset
18 }
anatofuz
parents:
diff changeset
19 }
anatofuz
parents:
diff changeset
20
anatofuz
parents:
diff changeset
21 BENCHMARK_TEMPLATE_DEFINE_F(MyFixture, Bar, double)(benchmark::State& st) {
anatofuz
parents:
diff changeset
22 for (auto _ : st) {
anatofuz
parents:
diff changeset
23 data += 1.0;
anatofuz
parents:
diff changeset
24 }
anatofuz
parents:
diff changeset
25 }
anatofuz
parents:
diff changeset
26 BENCHMARK_REGISTER_F(MyFixture, Bar);
anatofuz
parents:
diff changeset
27
anatofuz
parents:
diff changeset
28 BENCHMARK_MAIN();