Consumer: zig-utils/zig-js#62\nRelated: #21\n\nMinor-GC profiling in zig-js shows the sweep/finalize loop dominating allocation-heavy object churn. Most young ordinary object cells own only inline state, while the generic binding finalizer dispatch is still invoked for every dead cell.\n\nAdd an optional binding hook that can prove a dead cell has no finalization work. The collector must preserve the unconditional fallback for bindings without the hook and must still finalize every resource-owning cell. Cover hook and fallback semantics in unit tests, then validate the zig-js consumer under correctness and TSan gates.
Perf: let bindings elide provably empty cell finalizers
#22Consumer A/B results did not establish a stable performance benefit, so the optional hook and tests are fully reverted and will not be committed. The next experiment will reduce heap-counter writes inside the sweep loop without changing binding dispatch semantics.
Sign in to comment on this issue.