jpountz opened a new issue, #14450:
URL: https://github.com/apache/lucene/issues/14450

   Megamorphism of call sites to `DocIdSetIterator#nextDoc` and 
`DocIdSetIterator#advance` hurts search performance. See e.g. annotation HJ at 
https://benchmarks.mikemccandless.com/OrHighHigh.html where reducing 
polymorphism helped improve QPS by 40%. More specialization could also help, 
but before we start going this route, we should reduce the number of classes 
that extend `DocIdSetIterator` so that specialization is less needed and can 
focus on some key impls.
   
    - [x] https://github.com/apache/lucene/issues/7977
    - [x] https://github.com/apache/lucene/pull/14017
    - [x] https://github.com/apache/lucene/pull/14033
    - [ ] Combine `DocIdSetIterator#all`, `DocIdSetIterator#empty` and 
`DocIdSetIterator#range` into a single impl.
    - [ ] Make doc-value iterators expose a `DocIdSetIterator` instead of 
extending `DocIdSetIterator`.
    - [ ]  Make `IntervalIterator` expose a `DocIdSetIterator` instead of 
extending `DocIdSetIterator`.
    - [ ] Make `Spans` expose a `DocIdSetIterator` instead of extending 
`DocIdSetIterator`.
    - [ ] Can we somehow remove `ImpactsDISI`, e.g. by evaluating term queries 
as single-clause disjunctions or conjunctions?
   


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

Reply via email to