jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tobias Bocanegra (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (JCR-726) Improve NodeTypeRegistry.effectiveNodeType()
Date Thu, 01 Feb 2007 14:35:05 GMT

     [ 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

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

View raw message