romseygeek commented on code in PR #16083:
URL: https://github.com/apache/lucene/pull/16083#discussion_r3260138435


##########
lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java:
##########
@@ -572,13 +572,7 @@ public Collection<Accountable> getChildResources() {
    * and a {@link BitDocIdSet} over a {@link FixedBitSet} otherwise.
    */
   protected CacheAndCount cacheImpl(BulkScorer scorer, int maxDoc) throws 
IOException {
-    if (scorer.cost() * 100 >= maxDoc) {
-      // FixedBitSet is faster for dense sets and will enable the random-access
-      // optimization in ConjunctionDISI
-      return cacheIntoBitSet(scorer, maxDoc);

Review Comment:
   Yeah, exactly. I need to do some code archaeology but I think 
ConjunctionDISI used to do instanceof checks for its input filters but now just 
uses `intoBitSet` and `docIdRunEnd`, so if we can get the performance of 
RoaringBitSet up for those methods then we don't need to use FixedBitSet here 
at all.  Which would save us a whole bunch of memory.



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