benwtrent opened a new pull request, #15171: URL: https://github.com/apache/lucene/pull/15171
Now that we have bulk scoring for our RandomScorer's, let's enable it for our VectorScorer interface. I only implemented it for float32 right now, as that is the only place where we are actually doing bulk scoring. But once the interface is in place, I imagine it can be easily implemented elsewhere. This shows a marginal performance improvement: baseline ``` recall latency(ms) netCPU avgCpuCount nDoc topK fanout maxConn beamWidth quantized index(s) index_docs/s force_merge(s) num_segments index_size(MB) vec_disk(MB) vec_RAM(MB) indexType 1.000 0.880 0.760 0.864 1000000 500 550 16 100 no 0.00 Infinity 0.06 0 0.00 0.000 0.000 HNSW ``` candidate: ``` recall latency(ms) netCPU avgCpuCount nDoc topK fanout maxConn beamWidth quantized index(s) index_docs/s force_merge(s) num_segments index_size(MB) vec_disk(MB) vec_RAM(MB) indexType 1.000 0.780 0.640 0.821 1000000 500 550 16 100 no 0.00 Infinity 0.06 0 0.00 0.000 0.000 HNSW ``` But I think we should consider unlocking this for all our "rescorer" interfaces as well. This will likely require more API changes (e.g. maybe add a "rescorerVectorScorer" function to FloatVectorValues or something...). -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org