msokolov commented on PR #13872:
URL: https://github.com/apache/lucene/pull/13872#issuecomment-2462152791
Finally got back to this and fixed the aliasing that was happening. I ran
some perf tests and don't see significant variance. Still, it's clear we must
be doing a lot more allocations here during indexing; I plan to look at
profiler output to see that. But maybe it's captured by escape analysis and
we're able to re-use? I was thinking a possible solution to that could be to
maintain a pool of Scorers in each ScorerSupplier and reclaim them with a
close()? But maybe that can come as a follow up.
## this patch
```
recall latency (ms) nDoc topK fanout maxConn beamWidth quantized
index s force merge s num segments index size (MB)
0.965 2.995 1000000 10 64 64 250 no
1795.97 1329.54 1 3018.62
0.878 2.844 1000000 10 64 64 250 7 bits
1715.70 1202.92 1 3749.72
0.541 2.084 1000000 10 64 64 250 4 bits
1650.77 842.20 1 3764.59
```
## mainline, Cohere, mip, 1M docs
```
recall latency (ms) nDoc topK fanout maxConn beamWidth quantized
index s force merge s num segments index size (MB)
0.965 3.161 1000000 10 64 64 250 no
1813.15 1277.61 1 3018.62
0.878 2.775 1000000 10 64 64 250 7 bits
1681.21 1168.95 1 3749.72
0.541 2.092 1000000 10 64 64 250 4 bits
1646.78 802.31 1 3764.59
```
--
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]