Skip to content

[AUTOMATED] Index cached FID payload rows - #206

Merged
sjkim1127 merged 1 commit into
mainfrom
codex/fid-payload-row-access
Oct 15, 2026
Merged

sjkim1127 merged 1 commit into
mainfrom
codex/fid-payload-row-access

Conversation

@sjkim1127

@sjkim1127 sjkim1127 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Scope

Extend the existing FPK payload-cache entry with a lazy line-range index. Hash locators already identify the row; avoid restarting text.lines().nth(row) on every hit.

Public block_at/block_for still return the shared Arc. Ordinary block reads do not index lines. Preserve str::lines semantics (LF/CRLF/bare CR/empty/Unicode/final rows), directory searches, decompression and errors, locator checks, record order, matching policies, and schemas. No new dependency or global cache.

The metadata costs two usize offsets per indexed line plus vector/header capacity, retained only with the existing cached payload. This is separate from the previously rejected compressed-index experiment, which remains excluded.

Measurements

Frozen qualification revision, stripped inputs and explicit addresses only:

  • Fresh full replay: 250/250 returned, zero changed non-time function records. Includes all code layers, variables/types, direct/scoped PCs, errors, fallback and evidence.
  • Five alternating small pairs versus the PR [AUTOMATED] Reduce repeated decompiler preparation #205 measured candidate: Windows 1.1763 → 0.9614 s (median); Linux/macOS essentially unchanged. Repeats deterministic.
  • Large six-function control, one sequential pair: 112.924 → 42.235 s wall; 1044.333 → 233.619 s CPU. Identical outputs. Maximum RSS 3.624/3.598 GiB; similar for this control, not a memory reduction claim.
  • Pinned Kuna 1.808 comparison expanded to four batches/22 functions. Fission remains 4.17–15.47× slower. No Kuna-level, corpus-wide speed or quality/ranking claim.

Measured native source retains the #203/#204 context documented in the preceding report, plus #205 production changes and this patch. The FPK preimage matches independent main b33e4e1 exactly. This PR is directly based on main after #205 and has no draft prerequisite. The additional clean-main validation below uses no draft changes; the committed report retains its earlier experimental-context measurements.

Validation

  • Focused FPK: 15 passed.
  • Signatures/static/decompiler/CLI nextest: 398 passed / 1 skipped.
  • Crate checks, release CLI, workspace fmt and diff checks passed.
  • Remote independent-main CI is a separate gate; not claimed green before completion.

See docs/validation/fid-row-access-performance.md and its compact JSON for raw samples, hashes, population reference, memory cost and reproduction. Full raw artifacts remain in benchmark/artifacts/performance/2026-10-14-kuna/. No corpus executable was run; output parity is not source execution parity.

Additional clean-main validation (no #203/#204)

Built both sources from clean worktrees with the same release profile/resources:

  • Baseline main 52c81dd; CLI SHA256 15db885995032f928301c98d39e608a7af699691aa9afa8b245ba5f84356bc22.
  • Candidate 686f523 (main + [AUTOMATED] Reduce repeated decompiler preparation #205 + this PR only); CLI SHA256 2ebaf8d171886efe8e1d14fa5f4b6d816708f97313ac2331a213642fe48685fd.
  • Fresh candidate generation: 250/250 returned with zero changed non-time function records versus the retained clean-main-52 reference. Re-ran 22 baseline functions and verified their complete non-time JSON matches that retained reference before using it.
  • Five alternating small pairs: Linux 2.3390 → 2.2562 s; Windows 1.2779 → 0.9716 s; macOS 1.4780 → 1.3658 s. All paired records match and repeats are deterministic.
  • Large six-function sequential main pair: 157.539 → 42.364 s wall (73.11% decrease), CPU 1686.309 → 233.534 s, identical outputs; maximum RSS 3.674/3.602 GiB. A single pair does not establish a whole-corpus speedup or memory decrease.

Only the same seven duration keys are excluded. No corpus executable was run, no score was recomputed, no analysis/worker policy was changed. This validates the independent main-based patch rather than inferring its behavior from the draft-based context. Full raw outputs and the Korean main follow-up report are retained locally in benchmark/artifacts/performance/2026-10-14-kuna/actual-main-* and MAIN-REPORT.md.

@sjkim1127
sjkim1127 merged commit 2b1fa5c 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