You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Solid arrows = integration order into wave/wave4-search-followups. Dotted = hard dependency. One branch per ticket; this ticket highlighted.
Found via dog-fooding round 2 (2026-06-27, branch wave/wave4-search), tracked under #174 Wave 4. Priority: P1.
Problem: Query latency is median 57 ms / p90 77 ms (only 2/36 samples under the <50 ms target). The floor is a fixed per-open cost independent of result count.
Evidence: latency scales with .skpost size across corpora (townhall 9 ms / devflow 15 ms / skim-search 48 ms). Literal trigram: skim 70 ms wall vs ripgrep <10 ms, git grep 30 ms.
Root cause:crates/rskim-search/src/index/reader.rs:130-132 (added by #364) CRC32-hashes the entirepost_mmap (40.7 MB here) on everyopen(), before any query runs.
Best fix: stop re-hashing the whole blob per query. Options: (a) verify CRC once at build / first-open and persist a validity marker keyed on (path, mtime, size); (b) segment the checksum and verify only segments actually touched; (c) make full verification opt-in (--verify-integrity) and rely on mmap otherwise. Restores <50 ms.
Solid arrows = integration order into
wave/wave4-search-followups. Dotted = hard dependency. One branch per ticket; this ticket highlighted.Found via dog-fooding round 2 (2026-06-27, branch
wave/wave4-search), tracked under #174 Wave 4. Priority: P1.Problem: Query latency is median 57 ms / p90 77 ms (only 2/36 samples under the <50 ms target). The floor is a fixed per-open cost independent of result count.
Evidence: latency scales with
.skpostsize across corpora (townhall 9 ms / devflow 15 ms / skim-search 48 ms). Literaltrigram: skim 70 ms wall vs ripgrep <10 ms, git grep 30 ms.Root cause:
crates/rskim-search/src/index/reader.rs:130-132(added by #364) CRC32-hashes the entirepost_mmap(40.7 MB here) on everyopen(), before any query runs.Best fix: stop re-hashing the whole blob per query. Options: (a) verify CRC once at build / first-open and persist a validity marker keyed on (path, mtime, size); (b) segment the checksum and verify only segments actually touched; (c) make full verification opt-in (
--verify-integrity) and rely on mmap otherwise. Restores <50 ms.Refs: #358, #364, #174.