[
https://issues.apache.org/jira/browse/JCR-1705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcel Reutegger updated JCR-1705:
----------------------------------
Attachment: JCR-1705-refactored.patch
Updated patch to current trunk (ItemStates are not Serializable anymore) and
introduced a NameSet, which works similar to the ChildNodeEntries. The new
NameSet is used for the property names and the mixin type names inside a
NodeState. The internal HashSet of a NameSet may be shared and/or obtained from
a simple cache similar to HashCache introduced earlier in JCR-1663.
> Reduce memory usage of transient nodes
> --------------------------------------
>
> Key: JCR-1705
> URL: https://issues.apache.org/jira/browse/JCR-1705
> Project: Jackrabbit
> Issue Type: Improvement
> Components: jackrabbit-core
> Reporter: Marcel Reutegger
> Priority: Minor
> Attachments: JCR-1705-refactored.patch, JCR-1705-refactored.patch,
> JCR-1705.patch
>
>
> When adding lots of transient nodes, most of them don't have child nodes
> because they are leafs. The attached patch initializes
> NodeState.childNodeEntries with an unmodifiable empty ChildNodeEntries
> instance and turns it into a modifiable one only when needed.
> Running a test with 100k nodes (10 children per node) the memory consumption
> for child node entries drops from 42MB to 12MB with this patch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.