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 "Jukka Zitting (JIRA)" <ji...@apache.org> on 2013/05/30 12:07:21 UTC
[jira] [Commented] (OAK-851) Slowness while traversing a tree
[ https://issues.apache.org/jira/browse/OAK-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13670194#comment-13670194 ]
Jukka Zitting commented on OAK-851:
-----------------------------------
This is the same underlying issue I'm referring to in http://markmail.org/message/v2ydm5xksd25glm4.
I'm not exactly sure if reconnect() is just a leftover from the time when NodeBuilders couldn't properly track state across rebase/reset operations, or if it's needed for the transient move tracking discussed in http://markmail.org/message/b6dcyae362akyogd.
If former, we should be able to drop the method entirely. If latter, it should be possible to execute the method only after a transient moves has occurred.
> 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