Skip to content

perf(fts): enable the bulk MAXSCORE path by default#7604

Draft
BubbleCal wants to merge 1 commit into
yang/lan2-88-fts-maxscore-searchfrom
yang/lan2-88-fts-maxscore-default
Draft

perf(fts): enable the bulk MAXSCORE path by default#7604
BubbleCal wants to merge 1 commit into
yang/lan2-88-fts-maxscore-searchfrom
yang/lan2-88-fts-maxscore-default

Conversation

@BubbleCal

@BubbleCal BubbleCal commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Stacked on the bulk MAXSCORE PR; flips the default.

Verification vs #7603 (its base)

Per-branch-tip wheels on the 200M-doc v3-256 index (1000 3-word OR queries
× 8 concurrent, warm): default-on reproduces #7603's opt-in numbers exactly
— k10 0.0342s vs 0.0342s, k100 0.0628s vs 0.0629s — i.e. the 3× win over
the classic loop now applies by default at both operating points. AND
queries are untouched (k10 0.113s vs #7602's 0.115s, within noise).

Results are score-identical to the classic WAND loop.
LANCE_FTS_MAXSCORE=0 opts back into the classic loop.

🤖 Generated with Claude Code

With right-sized partitions the bulk path reaches Lucene-parity latency
(k10 0.034-0.037s/213-235qps vs Lucene 10.4's 0.037s/216qps on the same
200M-doc corpus, queries, and warm protocol) and its results are
score-identical to the classic WAND loop. LANCE_FTS_MAXSCORE=0 opts back
into the classic loop.
@BubbleCal BubbleCal force-pushed the yang/lan2-88-fts-maxscore-default branch from 4732787 to fec0a88 Compare July 4, 2026 18:17
@BubbleCal BubbleCal force-pushed the yang/lan2-88-fts-maxscore-search branch from 0781681 to acac9d8 Compare July 4, 2026 18:17
@BubbleCal BubbleCal changed the title perf(fts)!: enable the bulk MAXSCORE path by default perf(fts): enable the bulk MAXSCORE path by default Jul 4, 2026
@BubbleCal BubbleCal marked this pull request as draft July 5, 2026 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-index Vector index, linalg, tokenizer breaking-change performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant