11#include <benchmark/benchmark.h>
18static void BM_MatchedSingleQuery(benchmark::State& state)
26 DataDescriptorMatcher::Op::Just,
31 for (
auto _ :
state) {
32 matcher.match(header, context);
38static void BM_MatchedFullQuery(benchmark::State& state)
46 DataDescriptorMatcher::Op::And,
48 std::make_unique<DataDescriptorMatcher>(
49 DataDescriptorMatcher::Op::And,
51 std::make_unique<DataDescriptorMatcher>(
52 DataDescriptorMatcher::Op::And,
58 for (
auto _ :
state) {
59 matcher.match(header, context);
65static void BM_UnmatchedSingleQuery(benchmark::State& state)
73 DataDescriptorMatcher::Op::And,
75 std::make_unique<DataDescriptorMatcher>(
76 DataDescriptorMatcher::Op::And,
78 std::make_unique<DataDescriptorMatcher>(
79 DataDescriptorMatcher::Op::And,
85 for (
auto _ :
state) {
86 matcher.match(header, context);
93static void BM_UnmatchedFullQuery(benchmark::State& state)
101 DataDescriptorMatcher::Op::And,
103 std::make_unique<DataDescriptorMatcher>(
104 DataDescriptorMatcher::Op::And,
106 std::make_unique<DataDescriptorMatcher>(
107 DataDescriptorMatcher::Op::And,
113 for (
auto _ :
state) {
114 matcher.match(header, context);
120static void BM_OneVariableFullMatch(benchmark::State& state)
128 DataDescriptorMatcher::Op::And,
130 std::make_unique<DataDescriptorMatcher>(
131 DataDescriptorMatcher::Op::And,
133 std::make_unique<DataDescriptorMatcher>(
134 DataDescriptorMatcher::Op::And,
140 for (
auto _ :
state) {
141 matcher.match(header, context);
148static void BM_OneVariableMatchUnmatch(benchmark::State& state)
161 DataDescriptorMatcher::Op::And,
163 std::make_unique<DataDescriptorMatcher>(
164 DataDescriptorMatcher::Op::And,
166 std::make_unique<DataDescriptorMatcher>(
167 DataDescriptorMatcher::Op::And,
173 for (
auto _ :
state) {
174 matcher.match(header0, context);
175 matcher.match(header1, context);
BENCHMARK(BM_MatchedSingleQuery)
Something which can be matched against a header::DataDescription.
Something which can be matched against a header::DataOrigin.
Something which can be matched against a header::SubSpecificationType.
A typesafe reference to an element of the context.