Skip to content

Commit eeef244

Browse files
committed
fix benchmarks & codspeed integration
1 parent 662de99 commit eeef244

File tree

6 files changed

+129
-118
lines changed

6 files changed

+129
-118
lines changed

benchmarks/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ target_link_libraries(benchdata PRIVATE ada)
2727
target_include_directories(benchdata PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>")
2828
target_include_directories(benchdata PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/benchmarks>")
2929
target_compile_definitions(benchdata PRIVATE ADA_URL_FILE="${url-dataset_SOURCE_DIR}/out.txt")
30+
target_compile_definitions(benchdata PRIVATE BENCHMARK_PREFIX=BenchData_)
31+
target_compile_definitions(benchdata PRIVATE BENCHMARK_PREFIX_STR="BenchData_")
3032

3133

3234
# BBC Bench

benchmarks/bbc_bench.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,6 @@ double url_examples_bytes = []() -> double {
3333
return double(bytes);
3434
}();
3535

36+
#define BENCHMARK_PREFIX BBC_
37+
#define BENCHMARK_PREFIX_STR "BBC_"
3638
#include "benchmark_template.cpp"

benchmarks/bench.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,9 @@ size_t init_data(const char* input = default_file) {
6969
url_examples_bytes = compute();
7070
return url_examples.size();
7171
}
72+
73+
#ifndef BENCHMARK_PREFIX
74+
#define BENCHMARK_PREFIX Bench_
75+
#define BENCHMARK_PREFIX_STR "Bench_"
76+
#endif
7277
#include "benchmark_template.cpp"

benchmarks/benchmark_template.cpp

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,28 @@ static void BasicBench_AdaURL(benchmark::State& state) {
8383
benchmark::Counter::kIsIterationInvariantRate);
8484
}
8585

86-
auto BasicBench_AdaURL_href = BasicBench_AdaURL<PARSE_AND_HREF, ada::url>;
87-
BENCHMARK(BasicBench_AdaURL_href);
88-
auto BasicBench_AdaURL_aggregator_href =
86+
#ifndef BENCHMARK_PREFIX
87+
#define BENCHMARK_PREFIX
88+
#endif
89+
90+
#ifndef BENCHMARK_PREFIX_STR
91+
#define BENCHMARK_PREFIX_STR ""
92+
#endif
93+
94+
#define CONCAT_IMPL(x, y) x##y
95+
#define CONCAT(x, y) CONCAT_IMPL(x, y)
96+
#define BENCHMARK_NAME(name) CONCAT(BENCHMARK_PREFIX, name)
97+
98+
auto BENCHMARK_NAME(BasicBench_AdaURL_href) = BasicBench_AdaURL<PARSE_AND_HREF, ada::url>;
99+
static auto* CONCAT(benchmark_register_, BENCHMARK_NAME(BasicBench_AdaURL_href)) =
100+
::benchmark::RegisterBenchmark(BENCHMARK_PREFIX_STR "BasicBench_AdaURL_href", BENCHMARK_NAME(BasicBench_AdaURL_href));
101+
102+
auto BENCHMARK_NAME(BasicBench_AdaURL_aggregator_href) =
89103
BasicBench_AdaURL<PARSE_AND_HREF, ada::url_aggregator>;
90-
BENCHMARK(BasicBench_AdaURL_aggregator_href);
104+
static auto* CONCAT(benchmark_register_, BENCHMARK_NAME(BasicBench_AdaURL_aggregator_href)) =
105+
::benchmark::RegisterBenchmark(BENCHMARK_PREFIX_STR "BasicBench_AdaURL_aggregator_href", BENCHMARK_NAME(BasicBench_AdaURL_aggregator_href));
91106

92-
static void BasicBench_AdaURL_CanParse(benchmark::State& state) {
107+
static void BENCHMARK_NAME(BasicBench_AdaURL_CanParse)(benchmark::State& state) {
93108
// volatile to prevent optimizations.
94109
volatile size_t success = 0;
95110

@@ -147,7 +162,8 @@ static void BasicBench_AdaURL_CanParse(benchmark::State& state) {
147162
benchmark::Counter::kIsIterationInvariantRate);
148163
}
149164

150-
BENCHMARK(BasicBench_AdaURL_CanParse);
165+
static auto* CONCAT(benchmark_register_, BENCHMARK_NAME(BasicBench_AdaURL_CanParse)) =
166+
::benchmark::RegisterBenchmark(BENCHMARK_PREFIX_STR "BasicBench_AdaURL_CanParse", BENCHMARK_NAME(BasicBench_AdaURL_CanParse));
151167

152168
#if ADA_url_whatwg_ENABLED
153169
size_t count_whatwg_invalid() {

0 commit comments

Comments
 (0)