[ https://issues.apache.org/jira/browse/JCR-726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tobias Bocanegra resolved JCR-726. ---------------------------------- Resolution: Fixed - introduced a new interface: EffectiveNodeTypeCache - renamed old implementation to EffectiveNodeTypeCacheImpl - created faster implementation BitsetENTCacheImpl that uses a bitset to store the nodetype names combination - did some fixes to the NodeTypeRegistry.getEffectiveNodeType() - improved a little bit the NodeImpl.isNodeType() the new bitset cache is about 25% faster than the old one, since it does not need to sort the nodetype names. the overhead for keeping the bitnumber-index for the nodetype names is minimal (and could be avoided completely, if built into the nodetype registry). due to a bug in the caching it could happen that the new calculated effective nodetype was not properly put back into the cache. measuring the Node.isNodeType() performance shows about 20% performance gain for simple nodes (where the bug mentioned above had no effect), and about 100 times faster results in the other cases. > Improve NodeTypeRegistry.effectiveNodeType() > -------------------------------------------- > > Key: JCR-726 > URL: https://issues.apache.org/jira/browse/JCR-726 > Project: Jackrabbit > Issue Type: Improvement > Components: nodetype > Affects Versions: 0.9, 1.0, 1.0.1, 1.1, 1.1.1, 1.2.1 > Reporter: Tobias Bocanegra > Assigned To: Tobias Bocanegra > Priority: Minor > > The current getEffectiveNodeType() implementation has a minor bug that > prevents from proper caching for certain nodetype combinations. further > performance enhancements can be made to the effective node type cache. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.