Chris Hegarty created LUCENE-10517:
--------------------------------------

             Summary: Improve performance of SortedSetDV faceting by iterating 
on class types
                 Key: LUCENE-10517
                 URL: https://issues.apache.org/jira/browse/LUCENE-10517
             Project: Lucene - Core
          Issue Type: Bug
          Components: core/index
    Affects Versions: 9.1
            Reporter: Chris Hegarty


SortedSetDV faceting (and friends), can improve performance within tight loops 
by using _invokevirtual_ (rather than _invokeinterface_). The C2 JIT compiler 
can produce slightly more optimal code in this case, and since these loops are 
very hot, the impact can be significant (in the order of 10-20%).

The code change amounts to using `SortedDocValues` or `SortedSetDocValues` 
class types, rather than the `DocIdSetIterator` interface type, in loops 
(specifically for invocation of `nextDoc()`, when the iterator type is known 
and not wrapped. 

This issue is in some ways similar, and builds upon, prior optimisations in 
this area, like say LUCENE-5300.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to