Skip to content

[AUTOMATED] Reuse immutable positive FID candidate records - #264

Merged
sjkim1127 merged 1 commit into
mainfrom
codex/fid-candidate-reuse
Oct 15, 2026
Merged

sjkim1127 merged 1 commit into
mainfrom
codex/fid-candidate-reuse

Conversation

@sjkim1127

@sjkim1127 sjkim1127 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

[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.

  • Cache parsed records by archive-local full hash, preserving order/duplicates/decoder fields.
  • Recompute specific-hash, force/auto flags, relation contexts, thresholds, library lookup and final matches on every query; returned names are owned copies.
  • Parse/read outside the cache mutex; positive-only insertion, retry misses/malformed-empty/errors, poison fallback. Concurrent cold reads may duplicate work. Records are retained per immutable database; this is not a fixed memory-cap cache.

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}; proposal docs/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/ and COMBINED-REPORT.md. The narrower cache-only table above remains independently reported.

@sjkim1127
sjkim1127 merged commit 416f441 into main Oct 15, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant