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 "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2013/09/24 07:20:03 UTC

[jira] [Updated] (OAK-1037) Improve performance of XmlImport

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

Chetan Mehrotra updated OAK-1037:
---------------------------------

    Attachment: jmc-oak-importxml-1.png

Profiler snapshot taken using Java Mission Control. It indicates that there are multiple calls being made to org.apache.jackrabbit.oak.core.AbstractRoot#getRootState in same flow and each call is costly as the NodeBuilder needs to create a snapshot from the transient changes (created due to import). 

Based on this a simple fix would be to

# Avoid calling the AbstractRoot#getRootState in QueryEngineImpl twice
# The NodeBuilder returned from the call is immutable. It would better to cache the instance untill no further change has been made under that subtree. 

With OAK-1036 we can optimize it further
                
> Improve performance of XmlImport
> --------------------------------
>
>                 Key: OAK-1037
>                 URL: https://issues.apache.org/jira/browse/OAK-1037
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: jcr
>    Affects Versions: 0.9
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>         Attachments: jmc-oak-importxml-1.png
>
>
> The XmlImport benchmark [1] is running slow on Oak compared to Jackrabbit on various persistence backends
> {noformat}
> # XmlImportTest                  min     10%     50%     90%     max       N
> Oak-Tar                       277901  277922  282454  288859  289186      10
> Oak-Mongo                     362531  363342  382810  401213  401954      10
> Jackrabbit                     11961   11969   12816   14158   14173      10
> {noformat}
> The performance here needs to be improved
> [1] https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/XmlImportTest.java

--
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