Follow-up to my last message on
LUCENE-7051: I removed this optimization a while ago because it made things a bit more complicated but did not seem to help with point queries. However the reason why it did not seem to help was that the benchmark only runs queries that match 25% of the dataset. This makes the run time completely dominated by calls to FixedBitSet.set so the call to FixedBitSet.cardinality() looks free. However with slightly sparser queries like the geo benchmark generates (dense enough to trigger the creation of a FixedBitSet but sparse enough so that FixedBitSet.set does not dominate the run time), one can notice speed-ups when this call is skipped.