Master tracker for the perf-adjacent work across all three lanes — the benchmarking stack (A/B PR gate, Test262 macro-bench, trend page), the compiler correctness fixes surfaced alongside it, and the VM micro-optimization series. Ties together the merged foundation, the in-flight PRs, and the review findings that gate them.
Refreshed 2026-07-21: all bench findings fixed and pushed; the VM series (below) is now open as #29–#36 with its own guide in #37.
Whole-board status
Several of these read as "needs work" in the PR list but are further along — GitHub doesn't clear a review decision when a push addresses it, so the labels lag reality. Everything below is now awaiting your review; nothing is blocked on me.
Benchmarking infrastructure
Compiler correctness (independent of the bench lane)
VM micro-optimization series — 8 PRs, full map + reviewer's guide in #37
Merged foundation: #4 (A/B gate) · #5 (trend page) · #10 (Test262 macro-bench).
Merge order
Review findings — all resolved
From the retrospective review of #10 and the review of #15 (2026-07-12); fixes now pushed to their PRs.
Composition validation
Follow-on (not findings here)
Master tracker for the perf-adjacent work across all three lanes — the benchmarking stack (A/B PR gate, Test262 macro-bench, trend page), the compiler correctness fixes surfaced alongside it, and the VM micro-optimization series. Ties together the merged foundation, the in-flight PRs, and the review findings that gate them.
Refreshed 2026-07-21: all bench findings fixed and pushed; the VM series (below) is now open as #29–#36 with its own guide in #37.
Whole-board status
Several of these read as "needs work" in the PR list but are further along — GitHub doesn't clear a review decision when a push addresses it, so the labels lag reality. Everything below is now awaiting your review; nothing is blocked on me.
Benchmarking infrastructure
set_hashfingerprint (F3) — approved; a reviewer-suggested test was added after, so it shows re-review-pendingtest262.totalmacro point — addressed (set_hash-tagged), awaiting re-review; gate bench-test262: fingerprint the contributing test set so test262.total is comparable #24 first (consumesset_hash)Compiler correctness (independent of the bench lane)
OpClosure16— approved, ready to mergeVM micro-optimization series — 8 PRs, full map + reviewer's guide in #37
mparrett:perf/vm-microopt-all) for a merge-once path — PR on request.Merged foundation: #4 (A/B gate) · #5 (trend page) · #10 (Test262 macro-bench).
Merge order
set_hash). bench-test262: fingerprint the contributing test set so test262.total is comparable #24 ↔ perf(bench-ratchet): scope the -count reducer — min for the informational A/B, mean for the ratchet #22 touch the same 3 lines ofaggregateFromFile— either order; whoever lands second applies the 3-line resolution (keep perf(bench-ratchet): scope the -count reducer — min for the informational A/B, mean for the ratchet #22'sreduce(...)and bench-test262: fingerprint the contributing test set so test262.total is comparable #24'sSetHash:).#20(bench harness) is the natural companion for measuring the series but isn't a merge dependency.Review findings — all resolved
From the retrospective review of #10 and the review of #15 (2026-07-12); fixes now pushed to their PRs.
baseline.json(Overall ~1.12–1.22× in-browser). → Rebase onto the first modal snapshot whenbaseline.cpu_model !== modalCpu. Fixed (983d9c3): Overall 1.13–1.21× → 0.93–1.00× across 22 real snapshots.c41e7ab): composition-stable.cmd/bench-test262emitted only sum+count. → Per-recordset_hashover the contributing set, threaded onto the snapshot. Fixed (bench-test262: fingerprint the contributing test set so test262.total is comparable #24). perf-timeline: opt-in test262.total macro point #16 use: segment the line whereset_hashchanges; keep the hash as a diagnostic, not an exact-match gate (the passing set drifts almost every point). The metric confound the hash can't fix is perf-timeline: test262.total sum conflates per-test speed with pass-count (conformance inflates the trend) #26.setup-test262.shat its own.test262-rev. → Force the base half to head's rev. Fixed (perf-test262: pin corpus to head for both A/B halves; drop the paths filter #25,cd897e7).pull_request.pathsfilter ran before the label gate. → Dropped it; the label is the sole gate. Fixed (perf-test262: pin corpus to head for both A/B halves; drop the paths filter #25,cd897e7).Composition validation
nooga/main(integration/all-prs) and validated end-to-end — one conflict across the set (the bench-test262: fingerprint the contributing test set so test262.total is comparable #24↔perf(bench-ratchet): scope the -count reducer — min for the informational A/B, mean for the ratchet #22 3-liner), everything else clean;build/vet/TestScriptsgreen; composed perf-pr A/B green on real CI.integration/all-prsstill builds green (build + vet +TestScripts+cmd/bench-ratchet+ allcmd/pkgunits). Note it's a 07-13 merge snapshot — refresh the merges before leaning on it for a new round. The VM series was verified separately per-slice (Test262 language differential, 0 new failures each; built-ins per-dir sweep, 0 regressions).Follow-on (not findings here)
test262.totalsums per-test times over the passing set, so improving conformance inflates the sum and reads as a slowdown;set_hashdetects the set changed but can't correct it. Decide fixed-reference-set vs per-test-mean before the series is trusted as a speed trend.test262.totalis single-shot and poorly runner-normalized (~6% scatter swamps engine signal).