Repository navigation
chore(bench): retire the allocator harness — it has nothing left to measure (#448) - #479
Merged
Merged
Conversation
…easure (#448) Added deliberately temporary in #476 and inventoried in the same change, with its removal keyed to "the PR that records the #448 measurement". This is that PR. The measurement is recorded on #448. Two independent runs on both self-hosted runners at the 25 MB rung, 15 reps per arm: - the system-allocator control separated by 35–36% on Linux and 53–63% on Windows, so the harness demonstrably resolved allocator effects at this scale; - against that, every v2/v3 gap sat inside its own run's noise floor, and the Windows delta CHANGED SIGN between runs (-1.7%, then +0.4%). So narrowing the pin to `cfg(target_os = "macos")` buys Linux and Windows nothing measurable, which inverts the case for doing it. The cost half of #448 is no longer an open premise; the issue stays open on its actual trigger, which has not fired — `libmimalloc-sys` 0.1.49 still vendors v3 3.3.2. The harness goes rather than staying "in case we want it again". Kept past its question it would be a build cost nobody could justify and nobody would dare delete — which is the failure mode the reliquary row was written to prevent, in the same commit that created the thing it was watching. The row flips to `removed` rather than disappearing, so the record of why it existed outlives the code. Re-deriving it is cheap if a future question needs it: the method is on #448 and the file is in this history.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
✅ Based on
main— mergeable now. Closes out the #448 measurement arc.Added deliberately temporary in #476, inventoried in that same change with its
removal keyed to "the PR that records the #448 measurement". This is that PR.
The measurement, now on #448
Two independent runs, both self-hosted runners, 25 MB rung, 15 reps per arm.
Linux (
laterite-linux, glibc 2.31)Windows (
laterite-windows, Win11 VM)The control separated hard everywhere, so the harness demonstrably resolved
allocator effects at this scale — which is what makes the null result mean
something. Against that, every v2/v3 gap sat inside its own run's noise floor,
and the Windows delta changed sign between runs (−1.7%, then +0.4%). That is
what a null result looks like from the inside.
So narrowing the pin to
cfg(target_os = "macos")buys Linux and Windowsnothing measurable, which inverts the case for doing it: zero measured upside
against platform-divergent allocator behaviour in a fault class that has already
bitten this project (#294, #297, #301).
Why it goes rather than staying "in case"
Kept past its question, a measurement harness becomes a build cost nobody can
justify and nobody dares delete. That is the exact failure mode the reliquary row
was written to prevent — in the same commit that created the thing it was
watching, which is the only time that discipline is cheap.
The row flips to
removedrather than disappearing, so the record of why itexisted outlives the code. Re-deriving it is cheap if a future question needs it:
the method is on #448 and the file is in this history.
What this does not close
#448 stays open on its actual trigger, which has not fired:
libmimalloc-sys0.1.49 still vendors v3 =30302(3.3.2), below the30404threshold, and
cargo update --dry-runlocks 0 packages. The cost half issimply no longer an open premise.
macOS is untouched by any of this, and pyarrow 25.0.1 being fixed does not
release it —
laterite-py/Cargo.tomlalready gives the reasons: we do not choosethe user's pyarrow, and CPython 3.14 vendors its own v3 regardless of it.
Gates
check_changelog --base origin/main·gen_wiki_tables --check· wikilint.py(the reliquary's
Verifytoken check is what confirms aremovedrow really isabsent from the tree) ·
reindex.py --check·check_doc_refs --check. Greppedfor dangling references to the removed files — only the reliquary row remains,
which is the point of it.