Repository navigation
[AUTOMATED] Reuse immutable positive FID candidate records - #264
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
Reuse immutable positive FID candidate records at
LazyFidDatabase. This follows #246; no new dependencies, CLI/schema/adapter/archive change, changed worker/function/instruction budgets or matching policy.Measured evidence
Frozen C++ qualification revision
07dd95dbe6214b8a78fc1e4a55961ab515986489, 45 cells / 250 stripped functions. All inputs rehashed; same resources/cwd/addresses/limits; fresh processes, --no-db, DECBENCH_NO_CACHE=1, release LTO, native M4 Pro/24 GiB. No own builds/tests/profilers during controls; OS caches/scheduling uncontrolled.Large six-function input, three alternating pairs: wall 14.6610 -> 13.8580 s (-5.5%), CPU -9.0%, median RSS +2.7%. Small five-pair changes are only 0.2–1.3%; no broad short-task gain or memory-cap claim.
Fresh 250/250 outputs, zero changed non-time function records: code/layers, variables/types/PCs/maps, errors/fallbacks/evidence/counters all compared; only seven existing durations excluded. Focused 22-function complete records match three repetitions in both worker lanes and fresh replay. Whole-population two-run determinism, execution/recompilation and rescoring were not measured.
Pinned Kuna 1.808, both requested jobs/render workers 1 and 14: choosing each tool's faster observed median independently still leaves Fission 2.73–6.10x slower. No semantic/readability/score/ranking or Kuna-parity claim.
Validation
Five focused tests; 1,952 related nextest passed, six skipped; crate checks, scoped CI Clippy, release, workspace fmt and owner-boundary scan pass. Differential reference covers all flags, specific hashes, confidence boundaries, relation contexts, ties, malformed rows, resource ownership, concurrency/poison fallback and returned ownership.
Full contracts, source hashes, CPU/RSS ranges, both worker lanes, controls and reproduction:
docs/validation/fid-candidate-performance.{md,json}; proposaldocs/proposals/2026-10-15-fid-candidate-cache.md. Full local artifacts:benchmark/artifacts/performance/2026-10-15-fid-candidates/.Initial frontend preparation, misses and completed-function hot-cache growth remain. Primary checkout, drafts #203/#204, DecBench #103 and seven unrelated dirty main files are preserved. Remote CI on this exact head remains required before merge.
Additional combined controls
A separate three-pair direct comparison was run after all profiler processes exited, using immutable pre-#246 executable vs this final candidate on the same six-function large batch. Median wall 26.2682 -> 14.3305 s (-45.4%), CPU +2.9%, RSS +3.5% (2,327,576,576 -> 2,409,152,512 bytes). All six complete non-time records match every pair/repeat. These are direct combined controls, not compounded percentages from earlier experiments; their raw commands/JSON/stderr and ranges are retained in
benchmark/artifacts/performance/2026-10-15-fid-candidates/combined/andCOMBINED-REPORT.md. The narrower cache-only table above remains independently reported.