jainankitk commented on PR #15383: URL: https://github.com/apache/lucene/pull/15383#issuecomment-3530320690
> I'm skeptical that there is measurable benefit (unless you have a lot of slices over a big segment). As per my understanding the slice generation logic is fairly aggressive. So even in case of 4/8 slices for a segment, this change should reduce the operating memory by 4x / 8x for that segment The suggestion to create a synchronized `scorerSupplier` per segment is interesting. I was initially concerned about the synchronization overhead, but that is just once per segment. Although I feel having partitioned `FixedBitSet` should add even more value in that case, as we can get the winner thread to populate partitioned `FixedBitSet` for each segment partition, and after it is done with that, those partitioned `FixedBitSet` can be processed concurrently by collector for each partition, without worrying about synchronization with other threads. Primary additional overhead I can think of is for the winner thread to populate each matching document into the correct `FixedBitSet` -- 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]
