Repository navigation
[AUTOMATED] Bound preparation workers and borrow immutable runtime metadata - #246
Merged
Merged
Conversation
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.
[AUTOMATED]
Scope
Mechanically accelerate cold FID/no-return preparation and immutable runtime metadata lookup. No semantic/readability/score/ranking claim, CLI/schema/adapter/dependency change, skipped function, modified instruction limit or FID matching rule.
Measured evidence
Base main
3daf458fef337a2951e000a17f13fac61d4a2e24; frozen qualification revision07dd95dbe6214b8a78fc1e4a55961ab515986489.Large six-function native batch, three alternating baseline/candidate pairs, existing default rendering/FID workers; medians:
Wall -43.3%, CPU +11.6%, RSS +3.7%. This lowers latency at higher CPU cost. Small five-pair median changes are only 1.6–6.7%. No per-core efficiency or memory-cap claim. Native M4 Pro/24 GiB, release LTO; OS caches/scheduling uncontrolled. No own builds/tests/profilers during primary timing controls.
Fresh 250/250 stripped functions across 45 cells: zero changed non-time function records, including all code/layers, variables/types/PCs/maps, errors/fallbacks/evidence/counters; only seven existing durations excluded. Focused 22-function complete records also match three repetitions in each of two worker lanes and the fresh replay. Whole-population two-run determinism, guest execution/recompilation and rescoring were not measured.
Kuna 1.808 is compared with both 1 and 14 requested workers. Choosing each tool's faster observed setting separately still leaves Fission 2.83–7.24x slower; Kuna-level speed is not achieved. One requested Fission render worker does not serialize FID/preparation. We do not pick Kuna's slower 14-job setting to claim parity.
Validation
docs/validation/preparation-workers-performance.{md,json}; proposaldocs/proposals/2026-10-15-preparation-workers.md.benchmark/artifacts/performance/2026-10-15-preparation-workers/.All-function hot-cache growth remains unchanged. Drafts #203/#204, DecBench #103, primary checkout and seven unrelated dirty main files are preserved. Remote CI is a separate post-submission gate and is not claimed green by local tests.
CI portability follow-up
Initial CI passed Linux tests and PE CLI smoke; lint failed because newer CI Rust deprecates
fetch_update. An equivalent explicitcompare_exchange_weakloop preserves the helper limit and memory order without a new API requirement or warning suppression. All timing controls, 250-function replay and both Kuna worker lanes were rerun on final A2 SHA2565fde8204f59b90a4fba7ca2af4c32c08c41efcb066df8586a9085cf7022f65d7. The table above now reports A2; older prototype controls/samples remain explicitly separate. New-head remote CI is still required.