[ 
https://issues.apache.org/jira/browse/OAK-175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411392#comment-13411392
 ] 

Michael Dürig commented on OAK-175:
-----------------------------------

One way to handle the remaining problem is to push the purge logic down to the 
{{NodeStore}} instead of handling it explicitly in {{RootImpl}}. A caching 
{{NodeStore}} implementation (OAK-167) might take care of this.
                
> MemoryNodeStateBuilder inefficient for large child node lists
> -------------------------------------------------------------
>
>                 Key: OAK-175
>                 URL: https://issues.apache.org/jira/browse/OAK-175
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Michael Dürig
>
> OAK-174 leverages the {{getChildBuilder()}} method introduced with OAK-170. 
> This revealed a performance issue for large child node list with the 
> {{MemoryNodeStateBuilder}} implementation: without additional measures (see 
> below) {{RootImplTest.largeChildList()}} is very slow. 
> The additional measures I currently implemented consist of counting the 
> overall number of changes to a tree and purge these down to the branch when a 
> certain threshold is reached. See {{RootImpl.purge()}}. However, I think this 
> mechanism is too ad-hoc and we should find a more general solution.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to