Skip to content

bench: batch throughput and an instruction-count gate - #8

Merged
dasmig merged 2 commits into
mainfrom
gate
Oct 16, 2026
Merged

dasmig merged 2 commits into
mainfrom
gate

Conversation

@dasmig

@dasmig dasmig commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Phase 3 steps 3 and 7 of PLAN.md: benchmarks for batches, and the CI performance gate.

  • runner::batches() in the shared bench/bench.hpp reports items per second at 1, 4 and 8 threads, and bench/bench.cpp calls it for the library's batch getter.
  • bench --gate runs a fixed workload (one load, 1,000 calls of every getter, one batch of 1,000) with no timing loops. make bench-gate runs it under Valgrind's cachegrind (scripts/gate.py) and compares the instructions executed with bench/gate_baseline.txt; a rise of more than 10% fails. Instruction counts are stable from run to run, unlike wall time on a shared runner. Wall time and memory stay a report.
  • The baseline was measured by this repository's CI bench job (clang 18, libstdc++ 14, Ubuntu 24.04), the toolchain the gate runs on. If a change raises the count on purpose, run scripts/gate.py build/bench_gate --update there and commit the new baseline.

🤖 Generated with Claude Code

dasmig and others added 2 commits October 16, 2026 19:43
runner::batches() reports items per second at 1, 4 and 8 threads. bench --gate runs a
fixed workload under cachegrind (scripts/gate.py, make bench-gate); a rise of more
than 10% over bench/gate_baseline.txt fails in CI.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Cn4xFiHhbCHDhom8w2Ghq
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Cn4xFiHhbCHDhom8w2Ghq
@dasmig
dasmig merged commit 97ef2e7 into main Oct 16, 2026
20 checks passed
@dasmig
dasmig deleted the gate branch October 18, 2026 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant