Parent: #416. Expanded fair baseline: #838.
The completed five-compiler run 20261007T214816Z admits all 20 unchanged projects and their existing negative controls before timing. It retains 30 rotating-order rounds after three warmups, all 3,000 samples, 140 admission records, and unchanged executable/payload/input provenance. Host: Apple M3 Pro / Mac15,6, 11 logical cores, Darwin 27.0.0 arm64. Home source: 9d27218fc; harness: 76d1016f4.
The largest relative Home loss is the frozen reexport_graph project (64 leaves through eight export-star barrels):
| Compiler | Same-run median |
|---|---|
| JavaScript TypeScript 6.0.3 | 97.7 ms |
| Direct native TypeScript 7.0.2 | 10.5 ms |
| Home | 19.3 ms |
| Rust tsc-rs 0.1.0 / TypeScript 7.1.0-dev | 8.9 ms |
Bun 1.4.3-canary.1+bd599f5 | 8.6 ms |
Home is 2.24× slower than the fastest admitted competitor on this row. This is a same-run comparison, not a regression claim against older hosts or launcher modes.
Required work
- Profile the frozen Home executable and unchanged generated project to locate the general compiler costs; do not infer a cause from the aggregate timing alone.
- Keep a fixed parent executable and candidate built with the same Zig toolchain, ReleaseFast/strip settings, and guard limits.
- Screen changes with reversed/rotating-order paired A/B processes, retaining every sample. Use the unchanged official workload; any secondary scale uses the same generator and feature shape on both sides.
- Preserve exact positive and negative admission semantics for all five compilers. No declaration-name checks, benchmark checks, disabled diagnostics, source weakening, or approximate type shortcuts.
- Run the full relevant checker/Program suites and the complete benchmark harness before accepting a compiler change.
- Re-run the full five-compiler matrix before changing current performance claims; publish actual medians, raw evidence, and a brief README table.
Evidence: expanded performance snapshot, checksum-covered archive.
Archive SHA-256: 90d1b8094cc95fe8ab98195f96a8e6d93fe4777003146f28c8124cc49aa4aefc.
Frozen Home executable SHA-256: e3dc03289ef1e34b2273b9b26951f43bad8940614d032f3e40aceaf461600ab3.