Joel Richard created OAK-3154:
---------------------------------

             Summary: Improve SimpleNodeAggregator performance with a NodeState 
cache
                 Key: OAK-3154
                 URL: https://issues.apache.org/jira/browse/OAK-3154
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: query
    Affects Versions: 1.3.3
            Reporter: Joel Richard


I have profiled a query where 16% of the query fetching time is spent inside of 
SimpleNodeAggregator.isNodeType. In my case, a lot of nodes which are read have 
overlapping paths.

Because the nodes seem to be iterated alphabetically, it would be possible to 
cache the previous NodeState chain in an array and reuse as much as possible if 
the previous and current path overlap. This would significantly reduce the 
query fetching time in cases where a lot of paths are similar. Since the 
NodeState cache array can be reused for the whole query execution, the possible 
overhead of it should be negligible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to