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]

Reply via email to