Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,15 +132,19 @@ jobs:
-DPTN_SKIP_COMPILER_CHECK=ON

- name: Build
run: cmake --build build --target ptn_bench --parallel
run: cmake --build build --target ptn_bench ptn_bench_scale --parallel

- name: Run benchmarks
run: |
mkdir -p bench_results
build/bench/ptn_bench \
--benchmark_filter="VariantMixed$|VariantAltHot$|VariantMixedGuarded$|VariantAltHotGuarded$|ProtocolRouter$|CommandParser$|PacketMixed$|PacketMixedHeavyBind$|LiteralMatch$|LiteralMatchRDense$" \
--benchmark_filter="VariantMixed|VariantAltHot|VariantMixedGuarded|VariantAltHotGuarded|ProtocolRouter|CommandParser|PacketMixed|PacketMixedHeavyBind" \
--benchmark_out=bench_results/ptn_bench.json \
--benchmark_out_format=json
build/bench/ptn_bench_scale \
--benchmark_filter="ScaleN" \
--benchmark_out=bench_results/ptn_bench_scale.json \
--benchmark_out_format=json

- name: Upload benchmark results
uses: actions/upload-artifact@v4
Expand All @@ -160,10 +164,16 @@ jobs:
run: |
python scripts/bench_single_report.py \
--input bench_results/ptn_bench.json \
--include "VariantMixed$|VariantAltHot$|VariantMixedGuarded$|VariantAltHotGuarded$|ProtocolRouter$|CommandParser$|PacketMixed$|PacketMixedHeavyBind$|LiteralMatch$|LiteralMatchRDense$" \
--include "VariantMixed|VariantAltHot|VariantMixedGuarded|VariantAltHotGuarded|ProtocolRouter|CommandParser|PacketMixed|PacketMixedHeavyBind" \
--outdir docs/assets/bench \
--prefix latest \
--title "Patternia vs Standard C++"
python scripts/bench_single_report.py \
--input bench_results/ptn_bench_scale.json \
--include "ScaleN" \
--outdir docs/assets/bench \
--prefix scale \
--title "Variant Dispatch Scalability (4-32 alternatives)"

- name: Commit and push chart update
run: |
Expand Down
6 changes: 5 additions & 1 deletion bench/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ add_executable(ptn_bench_variant
bench_variant.cpp
)

foreach(_ptn_bench_target IN ITEMS ptn_bench ptn_bench_lit ptn_bench_evolution ptn_bench_variant)
add_executable(ptn_bench_scale
bench_scale.cpp
)

foreach(_ptn_bench_target IN ITEMS ptn_bench ptn_bench_lit ptn_bench_evolution ptn_bench_variant ptn_bench_scale)
target_link_libraries(${_ptn_bench_target} PRIVATE
patternia
benchmark::benchmark
Expand Down
Loading
Loading