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
During #853's A/B (PR #854), the mmap/OnDemand f32 HNSW benches at n=50000 could not produce a verdict on this bench host:
HNSW Graph Search/top10/50000 measured +17% vs main, while HNSW Graph Search Rerank/top10/50000 — which runs the same traversal plus a rerank tail — measured −0.2% in one branch run and +20.4% in another.
The +20.4% run executed a strictly lighter binary than the −0.2% run (it skips an entire prefetch pass on this path), which is direct evidence the case cannot resolve ±20% on this host.
Full tables: the final A/B comment on #853. The store-level eager-int8 benches (the actual production VectorStore path) resolved cleanly at −56..−86%, so this is a measurement-quality question, not a known regression.
What to do
Observe whether a consistent post-#853 delta exists on the OnDemand/mmap path at 50k, using measurement the local host cannot provide:
pinned methodology (./scripts/bench-stable.sh --bench vector_search_bench -- "HNSW Graph Search/top10/50000"), and/or a second host / CI runner
interleaved A/B/A/B with medians, A/A null pair first
If a consistent regression is confirmed, file a targeted fix issue — candidate mechanisms to check: the graph.doc_id(ord) array read added to the f32 fallback distance path, and graph memory layout after v1→ordinal load translation.
Acceptance criteria
Pinned measurement done (bench-stable.sh, worktree A/B, shared corpus, interleaved; 5 A runs + 3 B runs)
Verdict: within noise — no consistent regression (+1.2–3.8% on tight pairs; the flagged +17–22% was host interference, proven by untouched-code spikes). Closed, no fix issue needed
Background
During #853's A/B (PR #854), the mmap/OnDemand f32 HNSW benches at n=50000 could not produce a verdict on this bench host:
HNSW Graph Search/top10/50000measured +17% vs main, whileHNSW Graph Search Rerank/top10/50000— which runs the same traversal plus a rerank tail — measured −0.2% in one branch run and +20.4% in another.HNSW Fallback Searchbenches (code not modified by perf(vector/hnsw): segment-local u32 ordinal graph + LVS1 v2 format (sub-issue of #686) #853) swung −6.2%..+9.6% across the same sessions.Full tables: the final A/B comment on #853. The store-level eager-int8 benches (the actual production
VectorStorepath) resolved cleanly at −56..−86%, so this is a measurement-quality question, not a known regression.What to do
Observe whether a consistent post-#853 delta exists on the OnDemand/mmap path at 50k, using measurement the local host cannot provide:
./scripts/bench-stable.sh --bench vector_search_bench -- "HNSW Graph Search/top10/50000"), and/or a second host / CI runnerIf a consistent regression is confirmed, file a targeted fix issue — candidate mechanisms to check: the
graph.doc_id(ord)array read added to the f32 fallback distance path, and graph memory layout after v1→ordinal load translation.Acceptance criteria
References