From 6e7616b6d367c33d94d0a37601bb83708e0028a8 Mon Sep 17 00:00:00 2001 From: karl Date: Tue, 13 Oct 2026 13:51:21 +0200 Subject: [PATCH] Record actual 100k lexical index performance on Windows CPU --- docs/SCALE-PERFORMANCE.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/docs/SCALE-PERFORMANCE.md b/docs/SCALE-PERFORMANCE.md index c2726f1..f40bd27 100644 --- a/docs/SCALE-PERFORMANCE.md +++ b/docs/SCALE-PERFORMANCE.md @@ -1,6 +1,7 @@ # Large-index lexical performance protocol -Status: **1,000-record smoke executed; large run deferred**. No production +Status: **1,000-record smoke and 100,000-record intermediate run executed; +million-record run deferred**. No production release gate is passed by this document. `tools/scale-eval` uses the actual shared Rust `SearchIndex` engine, with no @@ -119,3 +120,35 @@ tests passed in normal and optimized Python modes; formatting and strict release all-target Clippy passed. A subsequent Clippy-only parity-expression cleanup did not change the recorded smoke executable. The million-record run, representative libraries and UI/semantic timings remain open. + +## Windows VM intermediate scale, 2026-10-13 + +Actual release diagnostic at source `59908ad`, clean worktree, used 100,000 +file records, 10,000 short text documents and 30 requests per case per mode. +All assertions and integrity checks passed. Report: +`.searchi/qa/scale-100k.json`, SHA-256 +`25a300f4912d33c07963eb712a9214879c326e8c1a16eeca130855798c561b71`. +Executable SHA-256: +`1c3a8774195ff13e2ffcbb4586446d1de68e2ac927452fd8c004ca4e7d09fd82`. +Dependency lock is unchanged from the smoke. Rust 1.99.0, LLVM 23.1.1, +Windows x64 MSVC; Q35 VM exposes Ryzen 7 7800X3D and eight logical CPUs, +17,109,004,288 bytes RAM. Storage/power configuration was not independently +measured. The installed desktop and its query worker remained running; no +benchmark-owned inference was launched. Background activity was not controlled. + +| Case | Basic warm p95 ms | Debug warm p95 ms | +| --- | ---: | ---: | +| Exact name | 1.2085 | 1.4841 | +| Unique keyword | 0.7019 | 1.1082 | +| Common keyword | 9.9522 | 9.7389 | +| Common filename | 0.6121 | 0.7390 | +| Strict combined filters | 6.9529 | 7.2662 | +| Absent query | 0.5178 | 0.8753 | + +Seed insertion took 28,224.5 ms and produced a 110,481,408-byte database. +Reader opening took 3.83 ms; first unprepared input 78.02 ms; production prewarm +283.56 ms. Reopening took 3.99 ms without flushing storage caches. A live +process observation reported 15,540,224-byte peak working set at that moment; +it is not a complete lifetime peak-memory measurement. This intermediate +synthetic result does not close the million-record, real-library, concurrent +indexing, semantic or UI gates and does not alter product ranking.