[ 
https://issues.apache.org/jira/browse/JCR-1872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12649662#action_12649662
 ] 

Marcel Reutegger commented on JCR-1872:
---------------------------------------

I used the following test setup:

- create a tree structure with a depth of 6, each node having 10 child nodes. 
this results in a workspace with about 1 million nodes
- each node has 10 properties with a randomly chosen value from a set of 1000 
value. distribution of the values is not uniform. some values are much more 
frequent than others.
- execute random queries that include the path to a leaf node and a 
jcr:contains clause with a randomly chosen value from the set.

The test showed that the current implementation is heavily CPU bound. Each 
query takes about 340 milliseconds mostly doing the above mentioned hierarchy 
joins.

> Improve performance of simple path queries
> ------------------------------------------
>
>                 Key: JCR-1872
>                 URL: https://issues.apache.org/jira/browse/JCR-1872
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Marcel Reutegger
>            Priority: Minor
>
> Queries with simple path constraints can be quite slow because of the way 
> they are implemented. The current implementation basically does a 
> hierarchical join with the context nodes and the set of nodes with the name 
> of the next location step. When the specified path is quite selective the 
> implementation should   rather resolve the path expression using the item 
> state manager (similar to how regular paths are resolved in the JCR API).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to