cpp-stat-bench
0.24.0
Benchmark library with statistics for C++.
Loading...
Searching...
No Matches
benchmark_macros.h
Go to the documentation of this file.
1
/*
2
* Copyright 2021 MusicScience37 (Kenta Kabashima)
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
20
#pragma once
21
22
#include "
stat_bench/bench_impl/benchmark_case_register.h
"
// IWYU pragma: export
23
#include "
stat_bench/bench_impl/benchmark_group_register.h
"
// IWYU pragma: export
24
#include "
stat_bench/bench_impl/case_impl.h
"
25
#include "
stat_bench/bench_impl/default_main.h
"
26
#include "
stat_bench/bench_impl/group_impl.h
"
27
#include "
stat_bench/bench_impl/measure_impl.h
"
28
#include "
stat_bench/bench_impl/unique_name.h
"
29
#include "
stat_bench/fixture_base.h
"
// IWYU pragma: keep
30
45
#define STAT_BENCH_GROUP(GROUP_NAME) \
46
STAT_BENCH_IMPL_GROUP_IMPL( \
47
GROUP_NAME, STAT_BENCH_IMPL_UNIQUE_NAME(stat_bench_group_register_))
48
55
#define STAT_BENCH_CASE(GROUP_NAME, CASE_NAME) \
56
STAT_BENCH_IMPL_CASE_IMPL(STAT_BENCH_IMPL_UNIQUE_NAME(StatBenchCase), \
57
STAT_BENCH_IMPL_UNIQUE_NAME(stat_bench_case_register_), GROUP_NAME, \
58
CASE_NAME)
59
67
#define STAT_BENCH_CASE_F(FIXTURE_NAME, GROUP_NAME, CASE_NAME) \
68
STAT_BENCH_IMPL_CASE_WITH_FIXTURE_IMPL( \
69
STAT_BENCH_IMPL_UNIQUE_NAME(StatBenchCase), \
70
STAT_BENCH_IMPL_UNIQUE_NAME(stat_bench_case_register_), FIXTURE_NAME, \
71
GROUP_NAME, CASE_NAME)
72
80
#define STAT_BENCH_MEASURE_INDEXED( \
81
THREAD_INDEX_VAR, SAMPLE_INDEX_VAR, ITERATION_INDEX_VAR) \
82
STAT_BENCH_IMPL_MEASURE_IMPL( \
83
THREAD_INDEX_VAR, SAMPLE_INDEX_VAR, ITERATION_INDEX_VAR)
84
88
#define STAT_BENCH_MEASURE() \
89
STAT_BENCH_MEASURE_INDEXED( \
90
/*THREAD_INDEX_VAR*/
,
/*SAMPLE_INDEX_VAR*/
,
/*ITERATION_INDEX_VAR*/
)
91
95
#define STAT_BENCH_MAIN STAT_BENCH_IMPL_DEFAULT_MAIN
benchmark_case_register.h
Definition of BenchmarkCaseRegister class.
benchmark_group_register.h
Definition of BenchmarkGroup class.
case_impl.h
Definition of STAT_BENCH_IMPL_CASE_IMPL macro.
default_main.h
Definition of STAT_BENCH_IMPL_DEFAULT_MAIN macro.
fixture_base.h
Definition of FixtureBase class.
group_impl.h
Definition of STAT_BENCH_IMPL_GROUP_IMPL macro.
measure_impl.h
Definition of STAT_BENCH_IMPL_MEASURE_IMPL macro.
unique_name.h
Definition of STAT_BENCH_IMPL_UNIQUE_NAME macro.
include
stat_bench
benchmark_macros.h
Generated on Fri May 16 2025 04:25:10 for cpp-stat-bench by
1.13.2