You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Antonio Sanso (JIRA)" <ji...@apache.org> on 2013/05/30 11:53:19 UTC

[jira] [Updated] (OAK-851) Slowness while traversing a tree

     [ https://issues.apache.org/jira/browse/OAK-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Antonio Sanso updated OAK-851:
------------------------------

    Attachment: GetNodesTest.java

attaching test case
                
> Slowness while traversing a tree
> --------------------------------
>
>                 Key: OAK-851
>                 URL: https://issues.apache.org/jira/browse/OAK-851
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>            Reporter: Antonio Sanso
>         Attachments: GetNodesTest.java
>
>
> I have done some simple test on tree traversal and it seems that is really slow (specially compared with the Jackrabbit case).
> My scenario is a bit artificial but not so far away from reality.
> I have a tree with a depth of 100 and I have tried to traverse it from root to leaf.
> This is the performance of oak
> # GetNodesTest                   min     10%     50%     90%     max       N
> Oak-Memory                       980     999    1073    1160    1189      14
> while Jackrabbit gives me 
> # GetNodesTest                   min     10%     50%     90%     max       N
> Jackrabbit                         0       1       1       2      40   10187
> As you see the performance difference is quite substantial.
> I have tried to nail down the source of sloweness but I could not find it. It seems more that the culprit is the huge amount of call to TreeImpl#reconnect.
> Just for completeness I have done a test on accessing directly the leaf rather than traverse and the performance are quite good (still not great though)....
> # GetNodesTest                   min     10%     50%     90%     max       N
> Oak-Memory                        15      16      17      22      53     817

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira