You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The benchmark ran on thresholds set from measured noise and failed the
job past them. Now that it runs on every pull request, most runs
compare two identical fspy builds, where a threshold can only ever
produce a false alarm. Print the change and its quartile spread and
leave the judgment to the reader; the job stays green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: crates/fspy_benchmark/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ So nothing is ever compared across runs. Both fspy revisions run side by side on
23
23
-`fspy_benchmark_launcher` runs the target once, tracked through `fspy::Command` or untracked, and prints the launch wall clock plus the target's number. It is the only piece that links fspy.
24
24
-`fspy_benchmark` is the harness. CI builds the launcher twice: against the fspy under review, and against the merge-base fspy. Both builds use the same launcher source, so both revisions are measured by identical code. The harness then launches both builds back to back, cycling every ordering. Whatever the runner does to the numbers, it does to both.
25
25
26
-
Each iteration gives one head/base ratio per row. The reported change is the median of those ratios. A row that moves past its threshold fails the job.
26
+
Each iteration gives one head/base ratio per row. The reported change is the median of those ratios, printed with its quartile spread. The benchmark only reports; it never fails the job. Running the same fspy on both sides stays within a couple of percent, so read a change well past that as real.
27
27
28
28
An untracked launch runs in the same rotation. It prices tracking itself, and is reported as context, never gated.
0 commit comments