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