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]

Reply via email to