Problem
The precise-root fixes in #510 and #511 make the representative async/microtask row correct under moving GC, but the publication-scale workload still has excessive memory and wall-time growth.
The post-#511 ReleaseFast runner completes the exact bounded command:
bench-comparison-zig-js independent_steady representative_async_microtasks 6000 7 8All seven samples return checksum 91956096. Elapsed times are:
1.655669375 s
2.517117958 s
2.587441667 s
2.296234250 s
3.072370166 s
2.956848541 s
2.759787917 sThe seven-sample process reaches 2,787,491,840 bytes maximum RSS with zero swaps. A diagnostic publication-scale run at 60000 jobs, seven samples, and eight independent lanes remained active in young collection/marking after more than an hour and reached roughly 20.5 GB physical footprint before it was interrupted. Worker samples showed active GC and Promise work rather than a deadlock.
The exact parent cannot provide a timing baseline because this row hits the stale-root crashes fixed by #510 and #511.
Required outcome
- Characterize retained/live allocations per sample using the existing Promise allocation profile and GC evidence.
- Remove unnecessary Promise, closure, reaction, activation, or queue retention in the engine; do not reduce the benchmark job count, sample count, or lane count.
- Preserve PromiseJobs FIFO ordering, thenable assimilation, checksums, moving GC, and JIT behavior.
- Make the full
representative_async_microtaskspublication row complete within the representative benchmark workflow without pathological memory growth. - Add focused regression coverage for the ownership/lifetime defect and report bounded/full-scale memory and wall-time evidence.
- Run Promise-focused tests, TSan coverage for the affected lifetime path, the full unit suite, and the exact benchmark row.
Relationships
Blocks #460.