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]
