leng25 opened a new pull request, #15958: URL: https://github.com/apache/lucene/pull/15958
issue #15606 Refactor `NeighborArray#isWorstNonDiverse` to use `bulkScore` instead of `score`, enabling multiple nodes to be evaluated at a time when searching for the worst neighbor to remove. This change follows the approach taken in #15607, though unlike that case, this function is called less frequently so the direct performance gains are modest and within margin of error. The primary motivation is consistency, aligning both call sites to use `bulkScore` ensures this code automatically benefits from any future optimisations made to implementations of that function. Benchmarks run using [luceneutil knnPerfTest](https://github.com/mikemccand/luceneutil) on a ThinkPad T14 Gen 1 (Intel i5-10210U, 8 logical cores, 16GB RAM, Linux). Dataset: Cohere v3 Wikipedia 1024d, 50K docs, dot_product metric, maxConn=64, beamWidthIndex=250, quantizeBits=8. | Version | recall | index(s) | index_docs/s | force_merge(s) | latency(ms) | QPS | |-----------|--------|----------|--------------|----------------|-------------|-----| | baseline | 0.985 | 74.35 | 672.54 | 0.02 | 8.233 | 121 | | candidate | 0.985 | 73.83 | 677.26 | 0.02 | 8.282 | 120 | -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
