Overview
| Comment: | 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. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
13cfa274944c10e2ee879b6f5e6854ef |
| User & Date: | dmestas on 2026-07-17 01:57:16.285 |
| Other Links: | manifest | tags |
Context
|
2026-07-17
| ||
| 02:55 | Merge eager-image: warm the derivation cache at clone-end so the first read after a clone is the zero-parse image path (cold first-read leaves 26s → 0.03s), best-effort and clone-only. check-in: bf8b63f32c user: dmestas tags: trunk | |
| 02:27 | Create new branch named "eager-image" check-in: 5b2ba7331c user: dmestas tags: eager-image | |
| 02:08 | Create new branch named "revdelta-scale" closed check-in: b14a29d9c9 user: dmestas tags: revdelta-scale | |
| 02:01 | Create new branch named "fastread-log" closed check-in: da2daa8850 user: dmestas tags: fastread-log | |
| 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:38 | Merge warmprobe: land the warm-read timing bench that gates read-path perf work on measured re-derivation share (98% of warm load on althttpd). check-in: 8ccef5b6bd user: dmestas tags: trunk | |
Changes
Modified src/dst.zig
from [5b26811ae2]
to [f013a0330c].
[diff]
Modified src/main.zig
from [5b2210bf17]
to [5ddbb6cdd5].
[diff]
Modified src/repocache.zig
from [d45df0aa7f]
to [aae232a6b1].
[diff]
Added src/repoimage.zig version [7d2dc2f3c1].
Modified src/repository.zig
from [e447f92ba4]
to [83be1678bb].
[diff]
Modified src/repostate.zig
from [7c79ab5ec4]
to [7f77c7239e].
[diff]
Modified src/repoview.zig
from [420d6f2f6d]
to [ec2958e1e8].
[diff]
Modified src/root.zig
from [649bc930c1]
to [5af382196a].
[diff]
Modified src/warmread_benchmark.zig
from [7656638cd9]
to [9421986d49].
[diff]