jpountz commented on PR #14357: URL: https://github.com/apache/lucene/pull/14357#issuecomment-2727502419
BS2 uses a heap to merge multiple `DocIdSetIterator`s. Unfortunately, reordering this heap on every call to `nextDoc()` or `advance(int)` is not completely free and BS1's approach of loading all clauses into a shared bit set and then iterating the bits of this bit set proves to be faster. Presumably, when two-phase iterators are involved, the cost of reording the heap wouldn't be a big deal compared to the cost of calling `TwoPhaseIterator#matches()`. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org