chore(release): add 0.17.1 benchmark snapshot#546
Conversation
Greptile SummaryAdds the committed
Confidence Score: 4/5Safe to merge; the snapshot is structurally correct and the publish gate will use the accurately computed medians. The JSON is well-formed and all derived statistics are correct. Two The variance in Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Tag push: v0.17.1] --> B[Publish workflow triggered]
B --> C{Release benchmark\ngate check}
C --> D[Load bench-0.17.1.json\ngitSha: 35934407]
C --> E[Load bench-0.17.0.json\nfor comparison]
D --> F{Compare medians\nagainst thresholds}
E --> F
F -->|All within maxRegressionRatio\nand minAbsoluteRegression| G[Gate PASSES]
F -->|Any metric exceeds threshold| H[Gate FAILS — block publish]
G --> I[npm publish hunk@0.17.1]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Tag push: v0.17.1] --> B[Publish workflow triggered]
B --> C{Release benchmark\ngate check}
C --> D[Load bench-0.17.1.json\ngitSha: 35934407]
C --> E[Load bench-0.17.0.json\nfor comparison]
D --> F{Compare medians\nagainst thresholds}
E --> F
F -->|All within maxRegressionRatio\nand minAbsoluteRegression| G[Gate PASSES]
F -->|Any metric exceeds threshold| H[Gate FAILS — block publish]
G --> I[npm publish hunk@0.17.1]
Prompt To Fix All With AIFix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
benchmarks/release/bench-0.17.1.json:552-569
**High within-run variance in `first_frame_ms`**
One sample (3.98 ms) is ~5× lower than the remaining four (18–22 ms), producing a spread of 18 ms across just 5 runs. The median is computed correctly as 21.03 ms and the regression gate only compares medians, so this doesn't cause an incorrect gate result today. However, with `minAbsoluteRegression: 5`, a future version would need to push the median above ~26 ms before the ratio gate even activates — and if any run catches the same cold-path luck the outlier did, a rerun could produce a very different median. Worth checking whether the benchmark harness warms the runtime consistently before sampling.
### Issue 2 of 2
benchmarks/release/bench-0.17.1.json:582-601
**Bimodal sample distribution in `hunk_nav_press_p95_ms`**
The five samples split cleanly into two clusters: 86.98–90.81 ms (runs 3–5) and 129.25–131.54 ms (runs 1–2), a ~1.45× spread. The median (90.81 ms) sits in the lower cluster, so the effective regression threshold becomes ~104 ms. A future version that consistently lands at ~115 ms would correctly trip the gate — but one that happens to produce more "high" runs in a single bench pass could produce a median above the threshold even without a true regression, since the upper cluster is already at 129–131 ms. This snapshot as a baseline is less stable than typical.
Reviews (1): Last reviewed commit: "chore(release): add 0.17.1 benchmark sna..." | Re-trigger Greptile |
| "samples": [3.98, 18.08, 21.41, 22.33, 21.03], | ||
| "median": 21.03, | ||
| "p75": 21.41, | ||
| "p95": 22.33, | ||
| "min": 3.98, | ||
| "max": 22.33, | ||
| "unit": "ms", | ||
| "comparable": true, | ||
| "threshold": { | ||
| "maxRegressionRatio": 1.15, | ||
| "minAbsoluteRegression": 5 | ||
| } | ||
| }, | ||
| { | ||
| "name": "interaction-latency/hunk_nav_press_median_ms", | ||
| "source": "interaction-latency", | ||
| "samples": [74.53, 67.26, 68.84, 73.06, 70.15], | ||
| "median": 70.15, |
There was a problem hiding this comment.
High within-run variance in
first_frame_ms
One sample (3.98 ms) is ~5× lower than the remaining four (18–22 ms), producing a spread of 18 ms across just 5 runs. The median is computed correctly as 21.03 ms and the regression gate only compares medians, so this doesn't cause an incorrect gate result today. However, with minAbsoluteRegression: 5, a future version would need to push the median above ~26 ms before the ratio gate even activates — and if any run catches the same cold-path luck the outlier did, a rerun could produce a very different median. Worth checking whether the benchmark harness warms the runtime consistently before sampling.
Prompt To Fix With AI
This is a comment left during a code review.
Path: benchmarks/release/bench-0.17.1.json
Line: 552-569
Comment:
**High within-run variance in `first_frame_ms`**
One sample (3.98 ms) is ~5× lower than the remaining four (18–22 ms), producing a spread of 18 ms across just 5 runs. The median is computed correctly as 21.03 ms and the regression gate only compares medians, so this doesn't cause an incorrect gate result today. However, with `minAbsoluteRegression: 5`, a future version would need to push the median above ~26 ms before the ratio gate even activates — and if any run catches the same cold-path luck the outlier did, a rerun could produce a very different median. Worth checking whether the benchmark harness warms the runtime consistently before sampling.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| "name": "interaction-latency/hunk_nav_press_p95_ms", | ||
| "source": "interaction-latency", | ||
| "samples": [131.54, 129.25, 87.26, 90.81, 86.98], | ||
| "median": 90.81, | ||
| "p75": 129.25, | ||
| "p95": 131.54, | ||
| "min": 86.98, | ||
| "max": 131.54, | ||
| "unit": "ms", | ||
| "comparable": true, | ||
| "threshold": { | ||
| "maxRegressionRatio": 1.15, | ||
| "minAbsoluteRegression": 5 | ||
| } | ||
| }, | ||
| { | ||
| "name": "interaction-latency/lines_per_file", | ||
| "source": "interaction-latency", | ||
| "samples": [120, 120, 120, 120, 120], | ||
| "median": 120, |
There was a problem hiding this comment.
Bimodal sample distribution in
hunk_nav_press_p95_ms
The five samples split cleanly into two clusters: 86.98–90.81 ms (runs 3–5) and 129.25–131.54 ms (runs 1–2), a ~1.45× spread. The median (90.81 ms) sits in the lower cluster, so the effective regression threshold becomes ~104 ms. A future version that consistently lands at ~115 ms would correctly trip the gate — but one that happens to produce more "high" runs in a single bench pass could produce a median above the threshold even without a true regression, since the upper cluster is already at 129–131 ms. This snapshot as a baseline is less stable than typical.
Prompt To Fix With AI
This is a comment left during a code review.
Path: benchmarks/release/bench-0.17.1.json
Line: 582-601
Comment:
**Bimodal sample distribution in `hunk_nav_press_p95_ms`**
The five samples split cleanly into two clusters: 86.98–90.81 ms (runs 3–5) and 129.25–131.54 ms (runs 1–2), a ~1.45× spread. The median (90.81 ms) sits in the lower cluster, so the effective regression threshold becomes ~104 ms. A future version that consistently lands at ~115 ms would correctly trip the gate — but one that happens to produce more "high" runs in a single bench pass could produce a median above the threshold even without a true regression, since the upper cluster is already at 129–131 ms. This snapshot as a baseline is less stable than typical.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
0.17.1release benchmark snapshot required by the tag-triggered publish workflow.0.17.0with no accepted regressions.Verification
bun run bench:releasebun run bench:release:compare -- --version 0.17.1 --out dist/release/benchmark-comparison.jsonbunx oxfmt --check benchmarks/release/bench-0.17.1.jsonThis PR description was generated by Pi using OpenAI GPT-5.2