Summary
The May-2026 release-readiness session landed several non-trivial perf changes that haven't been tested against shapes outside honest_bench + benchmarks/suite + ECS smoke tests. Each has a plausible regression risk we should de-risk before tagging a release.
Recent landings to soak
| Commit |
Change |
Surface area |
56818086 |
GC bytes-trigger bump after gc-suppressed parse |
Any workload calling JSON.parse on > 1 MB blobs |
b3e93649 |
Inline ArrayPush fast path for local-bound arrays |
Any local-array-push hot loop |
3f5c69a5 |
integer_locals forward-closure pass |
Any program with chained int-stable Lets (let x = a*b; let y = x+c; ...) |
4f895dd8 |
Immutable i32-shadow + i32 init path |
Touches every const numeric Let — broad blast radius |
cf540b92 |
Buffer-aware stmt_preserves_array_length |
Any for (let i = 0; i < buf.length; i++) shape |
f02541a4 |
FuncRef + Math.* arms in preserves-length walker |
Any peephole that runs for (...; i < arr.length; i++) with a body containing function calls or Math methods |
aed21292 |
Static trip-count for-loop unroll |
Any tight nested loop with literal bounds and ≤8 iters |
817c4b56 |
>>> 0 correctness fix + channel-vector SIMD reduction |
All workloads (correctness); RGB-style image processing (perf) |
Soak coverage gaps
What's needed
- Run
cargo test --release --workspace (just landed: d826ace4 unblocks the perry crate's 101 tests). Verify all 571 tests pass.
- Run the parity test suite (or whichever Node-compat sweep exists) and diff against the pre-session baseline.
- Compile + run a representative set of customer/user TS apps and verify byte-for-byte output match against Bun for at least a 5-minute exercise of each.
- Document any new known-failures in
tests/known_failures.json so CI doesn't surprise us.
Acceptance
- All in-tree tests green.
- Parity sweep delta vs pre-session baseline: zero new regressions.
- 3-5 representative real-world apps verified against Bun.
Related
Related correctness issue: #435 (integer_locals overflow class) — soak should specifically check for the 14_closure shape.
Related perf issue: #436 (image_conv 5%-target).
Summary
The May-2026 release-readiness session landed several non-trivial perf changes that haven't been tested against shapes outside
honest_bench+benchmarks/suite+ ECS smoke tests. Each has a plausible regression risk we should de-risk before tagging a release.Recent landings to soak
56818086b3e936493f5c69a5let x = a*b; let y = x+c; ...)4f895dd8cf540b92stmt_preserves_array_lengthfor (let i = 0; i < buf.length; i++)shapef02541a4for (...; i < arr.length; i++)with a body containing function calls or Math methodsaed21292817c4b56>>> 0correctness fix + channel-vector SIMD reductionSoak coverage gaps
tests/known_failures.jsonif any): not exercised this session.: numberaccumulators, large numeric constants, string-heavy hash loops).What's needed
cargo test --release --workspace(just landed:d826ace4unblocks the perry crate's 101 tests). Verify all 571 tests pass.tests/known_failures.jsonso CI doesn't surprise us.Acceptance
Related
Related correctness issue: #435 (integer_locals overflow class) — soak should specifically check for the 14_closure shape.
Related perf issue: #436 (image_conv 5%-target).