diff --git a/benchmark/lookup/CMakeLists.txt b/benchmark/lookup/CMakeLists.txt index db8b00c9..b861291a 100644 --- a/benchmark/lookup/CMakeLists.txt +++ b/benchmark/lookup/CMakeLists.txt @@ -91,8 +91,12 @@ function(gen_pp_benchmarks) cib_lookup mph frozen-headers) - target_compile_options(${name} PRIVATE -fconstexpr-steps=4000000000 - --include=${HEADER}) + target_compile_options( + ${name} + PRIVATE + $<$,$>:-fconstexpr-steps=4000000000> + $<$:-fconstexpr-ops-limit=4000000000> + --include=${HEADER}) target_compile_definitions( ${name} PRIVATE ALG_NAME=bench_${ALG_NAME} DATASET=${DATASET} ANKERL_NANOBENCH_IMPLEMENT) diff --git a/benchmark/lookup/algorithms/pseudo_pext.hpp b/benchmark/lookup/algorithms/pseudo_pext.hpp index 30af6376..ef56ed33 100644 --- a/benchmark/lookup/algorithms/pseudo_pext.hpp +++ b/benchmark/lookup/algorithms/pseudo_pext.hpp @@ -26,7 +26,7 @@ template constexpr auto make_pseudo_pext() { return lookup::pseudo_pext_lookup::make( - CX_VALUE(lookup::input{0, pp::input_data})); + CX_VALUE(lookup::input{0, pp::input_data})); } template ,$>:-fconstexpr-steps=4000000000> + $<$:-fconstexpr-ops-limit=4000000000> + $<$,$>:-fbracket-depth=1024> +) diff --git a/tools/benchmark/gen_map_data.py b/tools/benchmark/gen_map_data.py old mode 100644 new mode 100755 index 3a5f33d5..2673f427 --- a/tools/benchmark/gen_map_data.py +++ b/tools/benchmark/gen_map_data.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + import argparse import random diff --git a/tools/benchmark/parse_bench_data.py b/tools/benchmark/parse_bench_data.py old mode 100644 new mode 100755 index 94cbddf6..ecb4a243 --- a/tools/benchmark/parse_bench_data.py +++ b/tools/benchmark/parse_bench_data.py @@ -1,3 +1,6 @@ +#!/usr/bin/env python3 + +import argparse import csv import re @@ -72,9 +75,28 @@ def generate_csv_tables(data, output_prefix): writer.writerow(row) -# Usage example -file_path = 'bench_output2.txt' -output_prefix = 'output' +def parse_cmdline(): + parser = argparse.ArgumentParser() + parser.add_argument( + "--input", + type=str, + required=True, + help=("Path to the input results."), + ) + parser.add_argument( + "--output_prefix", + type=str, + required=True, + help="Output filename prefix for the generated CSV file.", + ) + return parser.parse_args() + + +def main(): + args = parse_cmdline() + data = parse_file(args.input) + generate_csv_tables(data, args.output_prefix) + -data = parse_file(file_path) -generate_csv_tables(data, output_prefix) +if __name__ == "__main__": + main() diff --git a/tools/gen_release_header.py b/tools/gen_release_header.py old mode 100644 new mode 100755