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
Performance regressions land silently. The bench-ratchet machinery exists (make bench-ratchet, docs/perf/baseline.json, #651) but nothing in the development loop requires consulting it, so work that costs performance merges without anyone deciding to spend it.
Concrete symptom: startup time regressed from ~5ms to ~9ms wallclock (lg -e '(+ 1 1)', measured 2026-07-31 on main @ c809e33). No one chose that cost; it accumulated.
What this issue asks for
A general performance-measurement status discipline, not a one-off fix:
A visible answer to "are we at par with baseline?" — a status surface (CI lane, make target summary, or perf page) that reports current vs docs/perf/baseline.json including startup time.
Problem
Performance regressions land silently. The bench-ratchet machinery exists (
make bench-ratchet,docs/perf/baseline.json, #651) but nothing in the development loop requires consulting it, so work that costs performance merges without anyone deciding to spend it.Concrete symptom: startup time regressed from ~5ms to ~9ms wallclock (
lg -e '(+ 1 1)', measured 2026-07-31 on main @ c809e33). No one chose that cost; it accumulated.What this issue asks for
A general performance-measurement status discipline, not a one-off fix:
maketarget summary, or perf page) that reports current vsdocs/perf/baseline.jsonincluding startup time.bootprobe/lgbstatfrom feat(cmd): bootprobe + lgbstat — core boot and bundle diagnostics #623 give the decomposition).Non-goals
Specific optimizations (those belong under #464 and its children). This is about measurement + status, so future losses are chosen, not discovered.
Related: #464 (runtime performance epic), #651 (baseline seeding from CI), #623 (bootprobe/lgbstat diagnostics).