Repository navigation
ci(perf): gate LintRW, LintRule L007/L010 and ParseError in the shadow suite - #927
Conversation
PR #906's gate run moved 0 of 26 benchmarks because no linter benchmark was gated. Add it so W6-05b, W6-06 and W6-07 are measured by the PR-run gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DnbRnTFErhoMJdAjVEeCg2
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude finished @ajitpratap0's task in 20s —— View job Review of PR #927Verdict: LGTM. The change adds one line to
|
Perf gate: PASS (shadow mode: report only, this check never fails)Base
Rules: time regresses at >= +3% with p < 0.01 (Mann-Whitney U), or a suite geomean >= +1.5% (per-round geomeans, same test); allocs/op must not increase; B/op must not rise more than 2%; instructions/op must not rise more than 1.5%. An A/A control with more than 10% of benchmarks moving over 3% is noisy: re-run once, then inconclusive (neutral). Gated suite (GOGC=off, GOMAXPROCS=1)
A/A control: 0 of 50 benchmarks moved more than 3%. Instructions per operation (cmd/perfdriver)
Secondary metric: default GC, GOMAXPROCS=1 (informational)
Environmentbenchstat (primary metric) |
#896 (L007), #902 (L010) and #905 (lazy error wrap) target benchmarks the PR-run gate never measured, so none of them could be accepted or closed on an amd64 verdict. long_prefix is included so #905's expected miss is still checked for regressions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DnbRnTFErhoMJdAjVEeCg2
|
Claude finished @ajitpratap0's task in 18s —— View job Review of PR #927 (updated for the 3 added lines)Verdict: LGTM, with one note. The diff adds three entries to
Note: the latest gate comment (head Minor:
The change is CI configuration only. I see no security or correctness concerns. |
|
Claude finished @ajitpratap0's task in 13s —— View job Review of PR #927 (head includes all 3 added lines)Verdict: LGTM. I read the diff and the latest shadow gate report. I didn't run the gate myself.
Minor, optional:
This is CI configuration only. I see no correctness or security concerns. |
Summary
Adds three lines to
scripts/perf/gate-suite.txtso the PR-run gate measures benchmarks that open PRs target:./pkg/linter ^BenchmarkLintRW$: W6-05b, W6-06 and W6-07. The shadow gate on perf(linter): shared cached preorder node list for AST rules [W6-05a] #906 moved 0 of 26 benchmarks and never measured its target../pkg/linter ^BenchmarkLintRule$/^(L007|L010)$: perf(linter): allocation-free L007 keyword-case scan [W6-03] #896 (W6-03) and perf(linter): single-pass byte scan for L010 redundant whitespace [W6-04] #902 (W6-04)../pkg/gosqlx ^BenchmarkParseError$/^(syntax_mid|syntax_end|tokenize|long_prefix)$/^(parse|validate)$: perf(gosqlx): build wrapped error messages lazily [W1-03] #905 (W1-03).long_prefixis included so the expected miss there is still checked for regressions.Without these lines, none of those PRs can be accepted or closed on an amd64 verdict (PLAN 5.3 rule 5).
Test Plan
go test -count=1 ./scripts/perf/...passes.-benchtime 1x.Breaking Changes
None (CI configuration only).
🤖 Generated with Claude Code
https://claude.ai/code/session_01DnbRnTFErhoMJdAjVEeCg2