Skip to content

fix(ci): raise perf-gate noise floors to match observed runner variance#4867

Merged
proggeramlug merged 1 commit into
mainfrom
fix/perf-gate-noise-floor
Jun 10, 2026
Merged

fix(ci): raise perf-gate noise floors to match observed runner variance#4867
proggeramlug merged 1 commit into
mainfrom
fix/perf-gate-noise-floor

Conversation

@proggeramlug

Copy link
Copy Markdown
Contributor

The v0.5.1151 release-mode Regression Check hard-failed twice on bench_string_heavy (+73.3%: 60→104ms, then +35.0%: 60→81ms on re-run) while the push-mode run on the same commit reported 7 improvements, no regressions.

Three same-commit macos-14 runs measured that row at 60 / 81 / 104 ms — the 20ms absolute noise floor (MIN_SPEED_DELTA_MS) lets pure runner-to-runner variance hard-fail releases on any sub-150ms benchmark.

  • MIN_SPEED_DELTA_MS: 20 → 100ms. Every real regression we'd want a release gate to catch clears this by orders of magnitude (the v0.5.1129 dense-array hang was ~4000x / +6h). CPU-bound rows over ~300ms tracked within ~10% across runners.
  • MIN_RAM_DELTA_KB: 2MB → 4MB. 10_nested_loops RSS swings ±1.8MB (+51%) between same-commit runs with no allocation change.

Follow-up to #4857 (which made the gate compare anything at all). Note: re-runs of the v0.5.1151 tag's Regression Check use the tag's checkout, so this only hardens future tags.

The v0.5.1151 release-mode Regression Check hard-failed twice on
bench_string_heavy (+35%, +73%) while the push-mode run on the SAME
commit reported 7 improvements and no regressions: the row measures
60/81/104ms across three same-commit macos-14 runs, so the 20ms absolute
floor lets pure runner noise through on every sub-150ms benchmark.
Raise MIN_SPEED_DELTA_MS to 100ms (every observed real regression —
the v0.5.1129 hang was ~4000x — clears it by orders of magnitude;
CPU-bound rows over ~300ms track within ~10% between runners) and
MIN_RAM_DELTA_KB to 4MB (nested_loops RSS swings ~1.8MB / +51% between
runs without any allocation change).
@proggeramlug proggeramlug merged commit fe4c7ab into main Jun 10, 2026
13 checks passed
@proggeramlug proggeramlug deleted the fix/perf-gate-noise-floor branch June 10, 2026 00:54
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