Skip to content

Commit a34e0c4

Browse files
tcconnallyclaude
andcommitted
docs(changelog): refresh #392 measurements post hash-guard
The (len, hash) freshness guard verifies a 64-bit content hash per candidate row, which honestly costs ~0.5µs/row: @50k the paired-run numbers are now 1363.3ms -> 89.4ms (15.3x) and bulk-5000 15.1s (~8x). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 73e73f7 commit a34e0c4

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,11 @@ All notable changes to Perseus Vault (formerly Mimir/Mneme) are documented here.
121121
verdicts (rollback-safe; dropping the two side tables is also always a
122122
safe reset). The lazy write-back re-verifies the row's current body
123123
under the write lock before landing, so a backfill can never overwrite
124-
the fresher signature a concurrent update just committed. Measured (release,
125-
1KB uniform-length bodies — the length prefilter's worst case; medians
126-
over 15 probes): single-insert dedup scan @50k 1628.5ms → 69.3ms
127-
(23.5x); bulk import of 5,000 (fresh store, dedup ON) 123.6s (pre, per
128-
#392) → 11.8s total (~10x). The opt-in `MIMIR_DEDUP_FTS_PREFILTER` path
124+
the fresher signature a concurrent update just committed. Measured
125+
(release, 1KB uniform-length bodies — the length prefilter's worst
126+
case; medians over 15 probes, same run for both paths): single-insert
127+
dedup scan @50k 1363.3ms → 89.4ms (15.3x); bulk import of 5,000
128+
(fresh store, dedup ON) 123.6s (pre, per #392) → 15.1s total (~8x). The opt-in `MIMIR_DEDUP_FTS_PREFILTER` path
129129
is unchanged and composes with the stored signatures.
130130
- `follow()`'s row resolution no longer collapses real DB errors into
131131
"not found" (#396, the #394 principle): only `QueryReturnedNoRows` maps to

0 commit comments

Comments
 (0)