Skip to content
zit Check-in [ae242f5563]
Login

Check-in [ae242f5563]

Overview
Comment:Serve warm reads from a materialized column image instead of re-deriving RepoState, cutting a warm leaves load 178.6us to 2.12us (84x). At cache write, dense integer-addressed columns for the mtime index, leaf image, and symbolic-name table are appended to the versioned .zit-cache; on a fast_read open the freed queries (mtimeOf/isLeaf/isOpenLeaf/leaves/branchOf/resolveName per repostate 7.1/7.4/7.5/8.2) answer from those columns with zero derivation. Load-time span validation range-checks every column, CSR span, and stored id and returns a miss (fall back to derive) on any violation or CRC/layout/log-tail mismatch, so a corrupt or stale image is never a wrong answer. RepoState's public API is unchanged; only leaves opts in, cold verbs keep the derive path. Technique: on-disk zero-parse caching after Richard Feldman's Roc and Andrew Kelley's Zig compiler (common in game engines per Casey Muratori); typed enum(u32) index families after the compact_arena crate.
Timelines: family | ancestors | descendants | both | zerocache
Files: files | file ages | folders
SHA3-256: ae242f5563664ca16cc989de7ab4c8ec0250618964fd4b79fa5791ec9862dcf7
User & Date: dmestas on 2026-07-17 01:54:14.213
Other Links: branch diff | manifest | tags
Context
2026-07-17
01:57
Merge zerocache: materialized-image warm reads (84x faster leaves load) with load-time-validated fallback, closing the read-path perf gap. Phase B (full SoA image) not warranted — the image load is under 1% of the derivation it replaced. check-in: 13cfa27494 user: dmestas tags: trunk
01:54
Serve warm reads from a materialized column image instead of re-deriving RepoState, cutting a warm leaves load 178.6us to 2.12us (84x). At cache write, dense integer-addressed columns for the mtime index, leaf image, and symbolic-name table are appended to the versioned .zit-cache; on a fast_read open the freed queries (mtimeOf/isLeaf/isOpenLeaf/leaves/branchOf/resolveName per repostate 7.1/7.4/7.5/8.2) answer from those columns with zero derivation. Load-time span validation range-checks every column, CSR span, and stored id and returns a miss (fall back to derive) on any violation or CRC/layout/log-tail mismatch, so a corrupt or stale image is never a wrong answer. RepoState's public API is unchanged; only leaves opts in, cold verbs keep the derive path. Technique: on-disk zero-parse caching after Richard Feldman's Roc and Andrew Kelley's Zig compiler (common in game engines per Casey Muratori); typed enum(u32) index families after the compact_arena crate. closed check-in: ae242f5563 user: dmestas tags: zerocache
00:54
Create new branch named "zerocache" check-in: 6542332151 user: dmestas tags: zerocache
Changes