ReviewOS

home-lang/home

perf(ts): close the re-export graph gap against admitted native compilers

#839
Open chris opened this 9 days ago ·
9 days ago

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):

CompilerSame-run median
JavaScript TypeScript 6.0.397.7 ms
Direct native TypeScript 7.0.210.5 ms
Home19.3 ms
Rust tsc-rs 0.1.0 / TypeScript 7.1.0-dev8.9 ms
Bun 1.4.3-canary.1+bd599f58.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.

9 days ago

Published ef0174c05 directly to origin/main as Chris Breuer, without coauthors, after rebasing on the latest main.

All 20 detailed table rows match the generated verified report exactly. The archive has 600 byte-identical raw round files, 3,000 retained samples, 140 successful admission records, and 603 verified payload checksums. Home's measured result is 1/20 lowest medians across all five admitted compilers, and 11/20 faster than direct native TypeScript 7. No older host, launcher, or competitor result is merged into this table.

The next source-level optimization is tracked in #839, starting with the largest relative gap, reexport_graph (2.24× slower than Bun). The full goal remains open: #548 production admission, additional platforms, C++ repository selection under #838, and all remaining five-compiler losses still require work.

9 days ago

Profiling has located a concrete general cost, and the first candidate is under validation.

Evidence

  • The published frozen Home executable still matches SHA-256 e3dc03289ef1e34b2273b9b26951f43bad8940614d032f3e40aceaf461600ab3.
  • The official 64-leaf workload is unchanged. A diagnostic scale project uses the exact same generator with 4,096 leaves and the same eight leaves per barrel; the frozen executable accepts it without diagnostics (single screen: 2.26 s wall, 2.93 s user, 0.96 s system; not an admitted speed comparison).
  • A full unstripped build exceeded the unchanged 3,840 MB footprint ceiling. For diagnostics only, I relinked the exact cached object from the frozen executable. LLVM object tooling renamed temporary local symbol labels so the linker retained function names. The original and renamed object's machine-code sections are byte-identical, and the diagnostic image matches the frozen executable on all 20 positive and 8 negative-control projects. It is not used for accepted timing.
  • A one-second stack sample on the larger graph shows substantial resolver/export-name work and file I/O, including CheckerResolverAdapter.moduleExportNamesImpl, compileModuleForExportFacts, prepareSource, and waiting resolver callbacks.
  • Code inspection confirms the mechanism: moduleExportNamesFromResolvedModule reads, prepares, and destroys every module it visits, even when another export/origin query has already prepared that same owner. The CLI performs this traversal under the shared resolver mutex.

Candidate

moduleExportNamesFromQuery preserves the original full enumeration and owned name results, but obtains immutable bound module owners from the existing shared export_origins.Query. Each enumeration still has its own complete cycle/visited traversal; default filtering, quoted aliases, namespaces, and type-only names retain their rules. The CLI supplies its existing shared query rather than reparsing each target closure.

The new semantic/algorithmic control has cyclic barrels, a quoted export name, a namespace alias, a type-only alias, and a default export. After the first enumeration it refuses every source reread, then verifies independent name and origin queries still return the complete expected surface.

The full standalone Program suite and an exact-current-parent stripped ReleaseFast build are live under the shared guard. The first test command stopped at configuration because its unrelated default JSC dependency was absent; the corrected command uses enable_jsc=false for this independent TypeScript target. No test pass or speedup is claimed yet, and no candidate source is committed. An isolated parent at ef0174c05 will keep the older published compiler's iteration changes out of the optimization A/B.

9 days ago

Validation update:

  • The exact current parent ef0174c05 stripped ReleaseFast build completed at a 3,003 MB peak. Frozen parent executable SHA-256: c510235a37f9012bb7ebb62728e873bc22d927d04c4e81c8d81fcae3400eac9c.
  • The ordinary full Program test build exceeded the unchanged 3,840 MB ceiling at 3,867 MB before test execution. It is not counted as a pass.
  • The complete same-module/import ReleaseFast zig test invocation is now running with -fstrip, under the same guard. No test-name filter or source exclusion is applied; only native debug-symbol emission changes.
  • The candidate's stripped ReleaseFast compiler build is queued using exactly the same Zig 2163/ReleaseFast/strip settings as the frozen current parent.

The candidate remains uncommitted until the full semantic and paired A/B gates complete. The profile and byte-identical diagnostic-object checks have already changed the next action from speculative graph indexing to measured export-owner reuse. No speedup or universal lead is claimed.

9 days ago

The first actual same-parent A/B screen is positive, with all samples retained and command order reversed every round:

WorkloadParent medianCandidate medianCandidate wins
Unchanged official 64-leaf re-export graph, 20 pairs21.566 ms17.993 ms19/20
Same generator at 4,096 leaves / 8 per barrel, 6 pairs1.715 s1.534 s6/6

The full Program suite passes 228/228, including the no-reread cyclic/quoted/namespace/type-only/default control. Parent and candidate both pass all 20 positives and 8 negative-control projects before the screen. The exact parent is ef0174c05; both binaries use Zig 2163, ReleaseFast, stripped symbols, and the unchanged guard. Binary hashes match before and after the screen.

This is a screen, not final acceptance or a new five-compiler speed claim. An independent 30-pair official / 10-pair scale confirmation is now live, additionally fingerprinting every input file before and after. The complete checker suite is queued with native symbols stripped and no named-test filtering. No candidate code is committed until the remaining confirmation and semantic gates pass.

9 days ago

The export-owner reuse candidate now passes the source and performance gates.

  • Full Program: 228/228; full checker: 4,473/4,473; full CLI: 74/74; benchmark harness: 128/128.
  • Official independent confirmation: parent 20.178 ms, candidate 17.430 ms, 27/30 paired wins, 1.158× median improvement. Paired mean saving 95% t interval: 1.565–3.403 ms.
  • Same-generator 4,096-leaf confirmation: 1.701 s → 1.538 s, 10/10 paired wins, 1.106× median improvement. Paired mean saving interval: 131.280–226.124 ms.
  • The reversed-order 10-pair screen across all 20 families retains every sample and detects no regression with a paired interval wholly below zero. This is not a claim of statistical equivalence; broad effects remain visible in the full matrix.
  • Full five-compiler checkpoint 20261008T000856Z completes all admissions, 600 rounds, and 3,000 successful samples with unchanged provenance. Its re-export row is Home 16.5 ms versus Bun 8.5 ms: still 1.94× slower, so this issue's complete leadership objective remains open.
  • Pinned unmodified 106-file Zod parent/candidate A/B: 196 TS diagnostics + 3 HM9002 on both, identical complete identity multisets, zero additions and removals. Footprint peaks are 943/936 MB (parent/candidate); the recovery ratchet remains 3.
  • The exact parent and candidate use Zig 2163, stripped ReleaseFast builds, and unchanged 3,840 MB guard. Native debug symbols were stripped for full test executables after unstripped builds hit the cap; no test-name filter or source exclusion was applied.
  • git diff --check and all 128 harness tests pass. Pickier reports the existing 22,074 findings (11,461 errors and 10,613 warnings).

The source chunk is ready for a conventional commit linked to #839. Detailed results, checksum-covered full-matrix and paired evidence, and the brief README table will be published separately. No library/declaration/benchmark name check or approximate type shortcut is introduced: complete per-query traversal is unchanged, and only already bound module owners are reused.

9 days ago

Published two small conventional commits directly to origin/main, as Chris Breuer and without coauthors:

  • Source: b18f19203, perf(ts): reuse bound export owners across name queries (#839).
  • Evidence/docs: 3318885fb, docs(ts): publish export-owner reuse measurements (#839).

Detailed current snapshot and same-parent acceptance and brief README table are updated. All 20 detailed rows and all 10 README rows match the verified generated report exactly.

The independent unchanged re-export confirmation improves 20.178 → 17.430 ms, 1.158×, 27/30 paired wins; paired mean saving 95% t interval 1.565–3.403 ms. The diagnostic same-generator 4096-leaf confirmation improves 1.701 → 1.538 s, 10/10 pairs, interval 131.280–226.124 ms. All samples and reversed command order are retained. Full Program 228, checker 4473, CLI 74, and harness 128 tests pass on the measured candidate. Pinned unmodified 106-file Zod has identical complete 196 TS + 3 HM9002 diagnostic identity multisets, with no added or removed diagnostics; this is stability, not production admission.

The complete five-compiler checkpoint retains 600 raw rounds / 3000 samples / 140 successful admissions / 603 verified checksums. Home leads 1/20, beats direct native TS 7 on 12/20, and still trails Bun on re-exports by 1.94×. The frozen measured source is precisely ef0174c05 plus the retained source patch; intervening compiler changes present after rebase are not assigned these timings.

  • Matrix archive, SHA-256 20d645283831bd360212267cbc27be7c54590c83fda2e9a02b6af6316d1e6672.
  • Paired archive, 4902 verified checksums, SHA-256 2c59c9f4781daae166031d43af2ece2d17e9180083e4b6a15eace89b9d37bd9a; all 266 pair rounds, full scale inputs, exact patch/scripts and semantic logs retained.

Documentation-only Pickier and git diff --check pass; the frozen candidate's repository-wide Pickier run has pre-existing 22074 findings, not a clean pass. A fresh published-tip repository-wide run is in progress.

#839 remains open. Code inspection has identified the next repeated-work site: each export-facts request constructs fresh origin queries, and recursive facts requests reopen and bind owners despite the adapter's retained query. The next candidate will test reuse of immutable owners and complete origin-query work without changing the fact traversal or introducing special cases. Any further source change requires a new exact-parent A/B and full semantic gates. #416, #838 and #548 remain open for competitor gaps, platform/C++ coverage and full production admission.

9 days ago

Fresh published-tip verification: all 128 benchmark harness tests pass; the changed Markdown files pass Pickier; repository-wide bunx --bun pickier . finishes with 22,082 findings (11,469 errors / 10,613 warnings), not a clean lint pass. The frozen measurement logs retain their own earlier counts. No auto-fix was applied to generated benchmark controls.

9 days ago

Next-step capacity is tracked in #732: the fresh rebased-parent build exited 121 before compiler execution after its bounded shared-lock wait. Disk is approximately 583 MiB free, below the unchanged 1024 MiB admission floor. No new source candidate has been edited or committed; main and the worktree are clean at 3318885. Frozen paired evidence and published results remain valid, but they are not relabeled as measurements of the rebased compiler.

9 days ago

The next uncommitted candidate is prepared against clean parent 3318885: export-facts callbacks now reuse the existing mutex-guarded origin query rather than preparing a new origin-owner graph for each name; local re-export provenance consumes the already completed same-name origin result instead of resolving it a second time. The existing fact traversal is unchanged, including recursive-target handling. A new full-record no-reread control covers a generic callable local re-export, an import-type restriction, a type-only namespace alias, and a missing name. The existing cyclic export-name control is retained and shares its read-control helper. Zig 2163 formatting, AST checks, and git diff --check pass; no compiler build or semantic test run has executed for this draft. Exact patch backup SHA-256: a7460235b0c9099d26d327ce7a3b146f53408490b92a5dda2e8a3d24e56a36c0. No new commit or performance claim is made until exact-current-parent and candidate builds, complete semantic gates, Zod identity comparison, and paired timing can run. Capacity remains tracked in #732: guard exit 123 before compiler execution because free disk is below the unchanged 1024 MiB admission floor.

9 days ago

Capacity recovered briefly during the third audit; a real guarded candidate build completed (Zig 2163, stripped ReleaseFast), peak tree footprint 2966 MiB, source 3318885 plus exact draft patch a7460235b0c9099d26d327ce7a3b146f53408490b92a5dda2e8a3d24e56a36c0. Frozen executable SHA-256: 4b4af24fdb57dcfdba69de49a460014a1800cacdda7164a4fc8614e727e9ec2d. The benchmark harness passes 128/128. Initial matching-parent and Program attempts then exited 123 before execution when disk dropped to 581 MiB. After removing only 57 MiB of regenerated, task-owned incremental cache, the complete same-module/import Program suite is now live with native symbols stripped and no named-test filters. The matching parent checkout is clean at 3318885 and queued for a new real build. No semantic pass, paired speedup, or acceptance is claimed until those gates complete; all resource/disk floors remain unchanged.

9 days ago

Current-source semantic progress: complete Program 230/230 (including the new no-reread full-fact comparison), complete checker 4483/4483, and the full tsc_main entrypoint suite 33/33 pass. Peaks are 3088 / 3230 / 2909 MiB respectively, all below the unchanged cap. The separate ts_cli core module suite (the older gate with 74 tests) is queued explicitly; the entrypoint suite is not substituted for it. The clean matching 3318885 parent build also passes, peak 2918 MiB, executable SHA-256 fae92032c458c63252118fc04455cfa3d1a32713b627f793253cd06e0fb11608. Paired screen and pinned full-Zod parent/candidate checks are queued behind the shared runner. Exact source patch and candidate binary remain unchanged. No timing result or source acceptance is claimed yet.

9 days ago

Initial same-parent screen completes with all raw samples retained: unchanged official re-export graph 25.451 ms parent vs 19.136 ms candidate, 1.330x median improvement, 20/20 paired wins, paired mean saving 95% t interval 6.197–7.644 ms. Identical-generator 4096-leaf scale: 2.338 s vs 1.606 s, 1.456x, 6/6 paired wins, interval 489.569–968.528 ms. Both frozen executables pass all 56 retained process admissions; every input, harness, Hyperfine and binary fingerprint is unchanged. This is exploratory screening, not final acceptance or a comparison with competitors from another run. Independent 30/10-pair confirmation and all-20-family 10-pair screen are queued. Pinned unmodified full Zod parent/candidate checks also complete with identical 199-entry diagnostic identity multisets (196 TS + 3 HM9002), zero additions/removals. Observed Zod footprint is 887 MiB parent / 991 MiB candidate, an explicit memory tradeoff rather than an across-the-board resource improvement. Core CLI suite remains live; tsc_main entrypoint has already passed 33/33. Candidate remains uncommitted.

9 days ago

Independent 30/10-pair confirmation is positive with all fingerprints unchanged: official graph 32.665 -> 24.885 ms, 1.313x, 25/30 paired wins, paired mean saving 95% t interval +2.516 to +13.013 ms. Same-generator scale 2.503 -> 1.950 s, 1.283x, 9/10 wins, interval +255.781 to +710.265 ms. The all-20-family 10-pair screen has no paired saving interval entirely below zero, but startup, many_files, and import_graph show candidate medians over 3% slower. Before acceptance, an independent 30-pair confirmation is queued for precisely those three, selected by the explicit >3% slower-median screen rule. Initial samples, including unfavorable observations, are retained; no equivalence or regression-free claim is made. Full gates pass: Program 230/230, checker 4483/4483, ts_cli core 74/74, tsc_main entrypoint 33/33, harness 128/128, plus complete pinned Zod diagnostic multiset equality. Pickier exits 1 with existing 22074 findings (11461 errors / 10613 warnings), not a clean lint pass. Candidate remains uncommitted pending the extra check.

9 days ago

Accepted and pushed source chunk 69c3d28 to origin/main as Chris Breuer, without coauthors: perf(ts): share bound origin indexes with export facts (#839). No intervening upstream source landed during rebase; the frozen candidate exactly corresponds to 3318885 plus the retained a746023 patch. The targeted independent 30-pair rechecks do not reproduce the >3% screen slowdowns: many_files 24.954 -> 24.846 ms (15/30 wins, saving CI -3.674 to +0.716 ms), import_graph 23.110 -> 23.010 ms (15/30, -0.165 to +0.576 ms), startup 3.221 -> 3.243 ms (9/30, -0.323 to +0.007 ms). Startup retains a 0.7% slower observed median; overlapping intervals are not equivalence. All earlier unfavorable samples remain retained. Full semantic gates and Zod multiset equality are complete; the official/scale speed gains remain independently confirmed. The complete fresh five-compiler matrix is now queued/live with the frozen candidate executable; detailed docs, README results, deterministic paired/full-matrix evidence and issue status will be updated in a separate small docs chunk. #839 remains open until the admitted competitor gap is actually closed.

9 days ago

Published source 69c3d28ee and evidence/docs eaaddf213 directly to origin/main, as Chris Breuer, without coauthors. Both use conventional, #839-linked commit subjects; the worktree is clean.

Current detailed snapshot and the brief README table are updated. All 20 detailed rows and all 10 README rows match the verified generated report exactly. Documentation-only Pickier and git diff --check pass; full repository Pickier reports its 22074 findings, not a clean pass.

Performance and semantic acceptance

  • Exact parent 3318885fb; candidate source exactly 69c3d28ee, with no intervening upstream source in the rebase.
  • Official independent confirmation: 32.665 -> 24.885 ms, 1.313x, 25/30 paired wins; paired mean saving 95% t interval +2.516 to +13.013 ms.
  • Same-generator 4096-leaf confirmation: 2.503 -> 1.950 s, 1.283x, 9/10 wins; interval +255.781 to +710.265 ms. Official 64-leaf workload is unchanged.
  • Every screen/confirmation observation is retained. All 20 families were screened; three >3%-slower medians triggered independent 30-pair rechecks. Those median slowdowns did not reproduce, but startup remains 0.7% slower in its recheck (9/30 wins, saving CI -0.323 to +0.007 ms). Overlap is not equivalence or proof of no regression.
  • Full Program 230/230, checker 4483/4483, core CLI 74/74, entrypoint 33/33, harness 128/128 pass. No named-test filters/source exclusions; native test symbols are stripped under the unchanged guard.
  • Full unmodified pinned Zod: identical complete 196 TS + 3 HM9002 diagnostic identity multisets, zero additions/removals. Observed footprint is 887 MiB parent / 991 MiB candidate, an explicit memory tradeoff. This is regression stability, not production admission.

Fresh five-compiler result

20261008T031844Z: 140 successful admissions / 600 raw rounds / 3000 retained samples / 603 verified payload checksums, with unchanged provenance. Home leads 1/20 and beats direct native TS 7 on 12/20; Bun leads 18, Rust leads imports. Re-exports remain 1.99x slower than Bun. The largest relative loss in this run is CommonJS, 2.35x slower. No earlier host/run/competitor timing is merged into this table or attributed as a patch A/B.

  • Full matrix archive, SHA-256 50ea6212fdf1de7b6884a83d298c3a654a023ad1712e877a53163e70107f90ce.
  • Paired archive: 356 raw pair rounds / 5002 verified checksums, exact patch/scripts, complete admissions, all scale inputs and semantic logs; SHA-256 6f7abd669e0c0ad3692e7f96117bf78c18f0883c05586bd4d2cf8f861d1ade3e.
  • Candidate executable SHA-256 4b4af24fdb57dcfdba69de49a460014a1800cacdda7164a4fc8614e727e9ec2d.

#839 and the overall #416 goal remain open; #838 still needs canonical C++ selection/coverage and #548 full production admission. Code inspection identifies remaining general repeated work in recursive export-facts preparation, which still opens/binds nested owners independently of the retained query. That is a next source-level investigation, not an implemented or measured speed claim.

Execution headroom fluctuated again after publication (about 481 MiB free, below the unchanged admission/continuation disk floors). The successful completed runs are not relabeled as failed, and no new heavy work will be started below the guard. #732 remains the execution-capacity tracker. No resource ceiling/floor was relaxed or unrelated file/job altered.

9 days ago

The next general candidate is uncommitted against eaaddf2: named/star recursive export-facts requests pass their existing origin query to nested preparation, reusing immutable bound owners instead of reading/binding each nested owner again. Both CLI-shared and standalone request-local query lifetimes are preserved; fact traversal and field propagation are unchanged. A full-record no-reread control covers a multi-module named/star chain, a generic callable alias, type-only interface, ambient const enum, ordinary value, and missing name. Exact patch SHA-256: 1137b45591d9be56eb3ef697da0787879d95f1645e7d17e0b5371d735f25f9de. Zig formatting/AST checks and diff checks pass; complete Program tests and stripped ReleaseFast candidate build are queued under the unchanged guard. Parent executable reuse is justified by source inspection: 69c3d28..eaaddf2 changes only docs/evidence, not any compiler input; its frozen parent binary remains SHA-256 4b4af24fdb57dcfdba69de49a460014a1800cacdda7164a4fc8614e727e9ec2d. The existing eight-level fact cutoff is separately tracked in #843; this storage experiment does not remove or certify that correctness limit, and it remains outstanding toward #416. No speed claim or source commit until full gates and exact-parent timing complete.

9 days ago

Nested-owner candidate full Program suite passes 231/231, including the new complete-field no-reread named/star/alias/type-only/const-enum/missing control; peak 3185 MiB. The candidate ReleaseFast/strip build completes under the unchanged guard and is frozen for exact-parent admissions/timing. Source patch remains unchanged at 1137b45591d9be56eb3ef697da0787879d95f1645e7d17e0b5371d735f25f9de. Complete checker/core CLI/entrypoint gates are queued; paired screen validates all 20 positive and 8 negative projects first, retains every reversed-order sample, and fingerprints runner, inputs, harness/tools and both binaries. No source acceptance or speed claim yet. #843 remains open for the inherited cutoff; this candidate does not raise or introduce any limit.

9 days ago

Nested-owner reuse screen is positive: unchanged official graph 25.467 -> 20.504 ms, 1.242x, 20/20 paired wins; paired mean saving 95% t interval +4.341 to +6.122 ms. Identical-generator 4096 scale 2.506 -> 2.000 s, 1.253x, 6/6 wins, interval +233.270 to +791.465 ms. All samples and 56 admissions are retained; binary/input/runner/harness/Hyperfine fingerprints match before/after. Independent confirmation and all-20-family screen are live/queued, not yet acceptance. Full gates pass: Program 231/231, checker 4483/4483 (exact unchanged checker test artifact executed from cache), core CLI 74/74, entrypoint 33/33, harness 128/128. Pinned unmodified 106-file Zod has identical complete 196 TS + 3 HM9002 diagnostic identity multisets with zero additions/removals; guarded peaks observed 1087 MiB parent / 936 MiB candidate, not a generalized memory claim. Frozen candidate SHA-256 92338a9715ef01c3bf7e7238f980e9df72e856340f6684daabf98924ceea4960; source patch remains 1137b45591d9be56eb3ef697da0787879d95f1645e7d17e0b5371d735f25f9de. Candidate uncommitted until remaining checks complete; #843 cutoff remains explicitly outstanding.

9 days ago

Independent nested-owner confirmation is positive: official unchanged graph 25.546 -> 20.730 ms, 1.232x, 25/30 paired wins, mean saving 95% t interval +2.446 to +9.779 ms. Same-generator scale 2.888 -> 2.351 s, 1.228x, 10/10 wins, interval +375.313 to +791.154 ms. However, the all-20-family screen flags a possible overload regression: 34.391 -> 42.957 ms, only 2/10 paired wins, saving interval -9.375 to -0.516 ms. Other families also show slower medians under high variance. Acceptance is held: an independent 30-pair recheck is queued for every family selected by the predefined >3% slower-median rule, including overloads. All unfavorable observations are retained and the rule is not changed to avoid a failure. Full semantic gates/Zod identity equality remain valid; no source commit or regression-free claim is made.

9 days ago

Nested-owner reuse accepted and pushed as conventional source commit 30d3824 to origin/main, as Chris Breuer without coauthors. No intervening upstream source landed during rebase; frozen source remains exact eaaddf2 plus retained 1137b45 patch. The independent 30-pair recheck does not reproduce the overload screen warning: 25.054 -> 25.050 ms, 15/30 paired wins, mean saving 95% t interval -0.319 to +0.096 ms. All ten families selected by the >3% slower-median screen rule are rechecked; none has an interval entirely below zero, which is not equivalence. Every initial unfavorable sample is retained. CommonJS still has a 0.7% slower observed recheck median (26.798 -> 26.983 ms; CI -0.819 to +0.026 ms); that tradeoff/uncertainty will be documented. Official independent re-export improvement is 1.232x and scale 1.228x; all full semantic gates and complete Zod identity multiset equality pass. The fresh five-compiler matrix is queued/live with the frozen 92338a9 executable. Verified raw evidence, detailed docs and README table will ship in a separate small docs chunk. #843 remains outstanding; the existing cutoff is not raised or claimed fixed.

9 days ago

Published source 30d3824da and evidence/docs a444cf021 directly to origin/main, as Chris Breuer, without coauthors. Both are conventional, issue-linked commits. The worktree is clean.

Current detailed snapshot and brief README table are updated. All 20 detailed rows and 10 README rows match the verified report exactly. Documentation-only Pickier/diff checks pass; repository Pickier retains 22082 findings, not a clean pass.

  • Same-parent independent official confirmation: 25.546 -> 20.730 ms, 1.232x, 25/30 wins; saving 95% t interval +2.446 to +9.779 ms. Unchanged-generator scale: 2.888 -> 2.351 s, 1.228x, 10/10, interval +375.313 to +791.154 ms.
  • The adverse initial overload screen (34.391 -> 42.957 ms, 2/10, interval -9.375 to -0.516 ms) is retained. All ten >3%-slower-median families receive independent 30-pair rechecks. Overloads are flat in that recheck; no recheck has an interval wholly below zero. Overlap is not equivalence. CommonJS remains 0.7% slower in its recheck and is explicitly documented.
  • Full Program 231/231, checker 4483/4483, core CLI 74/74, entrypoint 33/33, harness 128/128 pass. Unchanged checker artifact executes from cache; no named filters or source exclusions.
  • Pinned unmodified 106-file Zod has equal complete 196 TS + 3 HM9002 identity multisets, zero additions/removals. Observed footprints 1087/936 MiB (parent/candidate) are not a universal resource claim or production admission.
  • Fresh 20261008T042639Z: 140 admissions / 600 raw rounds / 3000 retained samples / 603 verified checksums, unchanged provenance. Home leads 2/20 (startup, overload_resolution) and beats direct native TS 7 on 15/20. Bun leads 17; Rust leads imports. Counts/margins are descriptive, not significance or cross-run causal claims. Re-exports still trail Bun by 1.27x, so #839 remains open.
  • Matrix archive: SHA-256 ed253feb8650bcb68995ba7c21ad83c07c2ed6652fc4747a879c00f35c60c8fd.
  • Paired archive: 566 byte-identical pair rounds / 5209 verified checksums, all admissions/observations, full scale inputs, exact patch/scripts and semantic logs; SHA-256 37199143215b6a03705bf3cba9975de232c43c8f4e0e9693ea0b8699a80e53bb.

No guard ceiling/floor is changed and no unrelated file/job is altered. Parent eaaddf2 has exactly the same compiler inputs as 69c3d28 (only documentation/evidence differ); frozen parent reuse is recorded, not mislabeled as a fresh compile. Candidate SHA-256: 92338a9715ef01c3bf7e7238f980e9df72e856340f6684daabf98924ceea4960.

The inherited eight-level fact cutoff is unchanged and explicitly outstanding in #843; storage reuse does not certify unbounded correctness. #416's full goal, #838 C++ selection/platform coverage, and #548 production admission also remain open. The next correctness investigation is a cycle-safe complete fact traversal under #843, alongside remaining performance gaps. No overall completion claim.

9 days ago

Follow-up correctness chunks 4e8ee86 (#844) and 929d46a (#843) are now on origin/main as Chris with no coauthors. They correct option/access diagnostics and replace bounded recursive export facts with a cycle-safe worklist. Exact integrated-parent cost confirmation on unchanged admitted inputs is inconclusive: official graph 13.802 -> 14.197 ms (11/30 faster pairs, saving interval -1.061 to +0.137 ms); 4096-module scale 1384.203 -> 1405.088 ms (5/10, -122.538 to +21.693 ms). Large predicates screen warns at 3.1% slower with an entirely negative interval; independent 30-pair recheck is 0.5% slower, interval spanning zero. Both retained. No claimed speedup or universal no-regression result. Latest published five-compiler matrix still Home 2/20. Thirty original TS oracle cases match; newly exposed ordinary .ts default-import oracle remains failed under #845. Zod multiset unchanged 196 TS + 3 HM9002. Detailed docs/README table plus all 592 old/final pair rounds are prepared, archive publication queued behind another bounded machine test.

9 days ago

Resuming measured optimization after the #845/#846 correctness chunk. Current main 3698c7a only changes conformance variant execution; its compiler inputs and frozen 7346fd7bbc264c20a9b32a0da08e8579e615e68795c961f4f91911e6b276063a executable remain those of published source 206cdf1. Prepared a diagnostic-only image by renaming temporary local symbols in the exact cached ReleaseFast object and relinking; original/renamed machine-code sections verified byte-identical. This image is not used for accepted timings. Complete unchanged-workload admission comparison and one-second samples on same-generator commonJS 1024 / reexport 4096 scales are live under unchanged guard. No hotspot or speedup claim until profile evidence is inspected. Local records /Users/chris/.cache/home-ts-perf-next.QX4Fk4.

Sign in to comment on this issue.