Bench: decode-count regression gate (fixtures + GHA workflow)#88
Conversation
- bench/run.sh decodes the fixtures and fails when counts drop below bench/baselines.json (adsb_modes1 >= 200, ais_offair >= 32; current 213 / 36) - bench/data/modes1.cu8 vendored (canonical dump1090 test capture, BSD); the 115 MB AIS off-air capture lives on the bench-fixtures-v1 release and is fetched by CI - .github/workflows/bench.yml runs the gate on every PR and master push Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis PR introduces a decode-count regression gate for benchmark fixtures. The gate runs ChangesDecode-count regression gate for benchmark fixtures
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
The off-air benchmarks become a permanent regression gate:
bench/run.sh— decodes the fixtures throughxng decodeand fails when any count drops below its floor inbench/baselines.json(current: adsb_modes1 213 ≥ 200, ais_offair 36 ≥ 32). Floors get raised when demod improvements land; lowering one requires a documented tradeoff.modes1.cu8(canonical dump1090 ADS-B capture, 700 KB, BSD) vendored in-repo; the 5-minute AIS off-air capture (115 MB, our own recording) is an asset on the bench-fixtures-v1 release, fetched by CI withgh release downloadand gitignored locally..github/workflows/bench.yml— runs the gate on every PR and master push. No untrusted event inputs are used in run commands.docs/notes/BENCHMARKS.md;bench/README.mdcross-links.This PR's own CI run is the first live execution of the gate.
🤖 Generated with Claude Code
Summary by CodeRabbit