NameImpl improvements
---------------------
Key: JCR-1604
URL: https://issues.apache.org/jira/browse/JCR-1604
Project: Jackrabbit
Issue Type: Improvement
Components: jackrabbit-jcr-commons
Reporter: Jukka Zitting
Priority: Minor
I'd like to propose the following changes to NameImpl in jackrabbit-jcr-commons:
1) Don't intern the namespace string. Most often the namespace string is in any
case coming from a namespace registry, so there aren't that many copies of the
same strings lying around. Also, I don't think the performance impact on
NameImpl.equals() is significant even if there are multiple copies of the same
namespace string.
2) Don't memorize the hash code. Since String already memorizes its hash code,
the cost of NameImpl.hashCode() is just a few bytecode instructions. I don't
think the performance benefit is worth the extra complexity and memory overhead.
3) Don't memoize the string representation. NameImpl.toString() method is
typically only invoked when debugging or when serializing name values. In both
cases the CPU overhead of recreating the string is insignificant and IMHO not
worth the memory overhead .
I'll attach the patch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.