msfroh commented on PR #15383:
URL: https://github.com/apache/lucene/pull/15383#issuecomment-3529868175

   Thinking through the logic here, the only benefit is in terms of the size of 
arrays allocated. We're still doing just as many allocations in total and the 
individual partitions will each traverse the same range of the point tree (just 
collecting different doc IDs, while others get excluded by the partition 
filter). I'm skeptical that there is measurable benefit (unless you have a lot 
of slices over a big segment).
   
   I find the change to add a `scorerSupplier(LeafReaderContextPartition)` 
method much more interesting. I'm imagining an implementation in 
`PointRangeQuery`'s anonymous `Weight` could create a synchronized 
`scorerSupplier` per segment, where each partition would wrap that with 
something that filters over their doc IDs. That way, you'd go back to only 
creating one `FixedBitSet` per segment, regardless of how many slices are there 
(though the other threads would block until the winning thread finishes 
collecting).


-- 
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