Repository navigation
[AUTOMATED] Index cached FID payload rows - #206
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.
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:
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
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:
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.