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