You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Tobias Bocanegra (JIRA)" <ji...@apache.org> on 2007/02/01 15:35:05 UTC

[jira] Resolved: (JCR-726) Improve NodeTypeRegistry.effectiveNodeType()

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