fix(vanilla-io_uring): lazy json-comp gz cache (parity + drop pointless boot precompute)#960
Open
enghitalo wants to merge 2 commits into
Open
fix(vanilla-io_uring): lazy json-comp gz cache (parity + drop pointless boot precompute)#960enghitalo wants to merge 2 commits into
enghitalo wants to merge 2 commits into
Conversation
…ss boot precompute) Restore the original LAZY, process-shared gz cache for json-comp, reverting the lock-free boot precompute from MDA2AV#957. This io_uring entry builds default-GC, so it did NOT leak (unlike the `-gc none` epoll sibling, where the precompute leaked ~135 MiB via vlang/v#27606). But the precompute is ~800 pointless gzip.compress calls at boot with no benefit, so revert it for parity with the epoll entry and to restore the validated pre-cleanup state. Adds a guard comment so the precompute is not reintroduced. The lock-free change was meant to fix the io_uring json-comp@16384 collapse (enghitalo/vanilla#89), but CI refuted it: the collapse persists and is a separate, still-unexplained issue (low CPU at 16384c — not the lock). Validated (benchmarked as MDA2AV#958): json-comp@16384 recovered from the collapsed 159K (the precompute run) to 402K rps (+152.5%) — still degraded but better than with the precompute; memory unchanged (default GC). No throughput regression elsewhere. Split out of MDA2AV#958 (one PR per engine). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
|
/benchmark -f vanilla-io_uring --save |
Contributor
|
👋 |
Contributor
Benchmark ResultsFramework:
Full log |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Restore the lazy, shared json-comp gz cache on
vanilla-io_uring, reverting the lock-free boot precompute that shipped in #957.(Split of #958 — this is the io_uring half; the epoll half is a separate PR.)
Why
This entry builds default-GC, so it did not leak (unlike the
-gc noneepoll sibling, where the precompute leaked ~135 MiB via vlang/v#27606). But the precompute is ~800 pointlessgzip.compresscalls at boot with no benefit, so this reverts it for parity with the epoll entry and to restore the validated pre-cleanup state. Adds a guard comment so it isn't reintroduced.The lock-free change was meant to fix the io_uring
json-comp@16384collapse (enghitalo/vanilla#89), but CI refuted it: the collapse persists and is a separate, still-unexplained issue (low CPU at 16384c — not the lock). This PR does not claim to fix it.Benchmark (already run on #958, vanilla-io_uring)
Happy to re-run
/benchmark -f vanilla-io_uringon this split PR to re-validate.🤖 Generated with Claude Code