Skip to content

fix(bench): run both zero-regression gate sides from equal-length paths - #230

Merged
blackopsrepl merged 1 commit into
mainfrom
feature/gate-equal-length-paths
Nov 9, 2026
Merged

blackopsrepl merged 1 commit into
mainfrom
feature/gate-equal-length-paths

Conversation

@blackopsrepl

Copy link
Copy Markdown
Collaborator

Closes #229. Both gate sides run from binaries/base/<case> and binaries/cand/<case>; thresholds, metrics, trials and the pass rule are unchanged. Evidence is in #229. Smoke run on this branch: binaries land under base/ and cand/, list_swap cache-references -0.6% against v0.24.0.

The gate ran the baseline from binaries/baseline-<case> and the candidate from binaries/candidate-<case>, one character longer. The kernel copies the executable path onto the new process's stack, so the path length shifts every stack address and with it cache behaviour. One list_swap binary measured about 260k cache-references from 88-character paths and about 295k from 89-character ones; on the 0.25.0 gate the baseline path was 88 characters and the candidate's 89, which failed list_swap cache-references by +12% while the identical binary measured the same as v0.24.0 from an equal-length path.

Both sides now run from binaries/base/<case> and binaries/cand/<case>. Thresholds, metrics, trial counts and the pass rule are unchanged.

Closes #229
@blackopsrepl
blackopsrepl merged commit f8d2d10 into main Nov 9, 2026
14 checks passed
@blackopsrepl
blackopsrepl deleted the feature/gate-equal-length-paths branch November 9, 2026 14:39
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.

fix(bench): zero-regression gate runs the candidate from a longer path than the baseline

1 participant