gf2121 commented on code in PR #14400: URL: https://github.com/apache/lucene/pull/14400#discussion_r2012151639
########## lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java: ########## @@ -171,27 +171,30 @@ private int scoreWindow( } } - if (acceptDocs == null) { - int minDocIDRunEnd = max; - for (DisiWrapper w : iterators) { - if (w.docID() > min) { - minDocIDRunEnd = min; - break; - } else { - minDocIDRunEnd = Math.min(minDocIDRunEnd, w.docIDRunEnd()); + int minDocIDRunEnd = max; + int bitsetWindowMax = (int) Math.min(max, (long) min + WINDOW_SIZE); + for (DisiWrapper w : iterators) { + if (w.docID() > min) { + minDocIDRunEnd = min; + } else { + int docIDRunEnd = w.docIDRunEnd(); + minDocIDRunEnd = Math.min(minDocIDRunEnd, docIDRunEnd); + // If we can find one clause that matches over more than half the window then we truncate + // the window to the run end of this clause as the benefits of evaluating one less clause + // likely dominate the overhead of using a smaller window. + if (docIDRunEnd - min >= WINDOW_SIZE / 2) { + bitsetWindowMax = Math.min(bitsetWindowMax, docIDRunEnd); } } - - if (minDocIDRunEnd - min >= WINDOW_SIZE / 2) { - // We have a large range of doc IDs that all match. - rangeDocIdStream.from = min; - rangeDocIdStream.to = minDocIDRunEnd; - collector.collect(rangeDocIdStream); - return minDocIDRunEnd; - } } - int bitsetWindowMax = (int) Math.min(max, (long) min + WINDOW_SIZE); + if (acceptDocs == null && minDocIDRunEnd >= bitsetWindowMax) { Review Comment: Could `minDocIDRunEnd` ever be bigger than `bitsetWindowMax` ? -- 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