[ https://issues.apache.org/jira/browse/DIRSHARED-62?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12875658#action_12875658 ]
Emmanuel Lecharny commented on DIRSHARED-62: -------------------------------------------- I'm afraid we won't be able to do anything about it, as this code is generated. We would have to fix the generator :/ > Improve antlr generated code [shared-ldap] > ------------------------------------------ > > Key: DIRSHARED-62 > URL: https://issues.apache.org/jira/browse/DIRSHARED-62 > Project: Directory Shared > Issue Type: Improvement > Environment: All > Reporter: Felix Knecht > > The generated code by antlr could be improved regarding performance. Listed > classes below use the construct new Integer(...) a lot of times in their > constructor. If these classes are created many times it's an improvement to > have Integer.valueOf(...). Looking at the generated classes almost all values > for new Integer are in a range of [-128,128] what matches the criterias for > more performance [1]. > Classes: > /shared-ldap/target/generated-sources/antlr/org/apache/directory/shared/ldap/aci/AntlrACIItemCheckerLexer.java > /shared-ldap/target/generated-sources/antlr/org/apache/directory/shared/ldap/aci/AntlrACIItemLexer.java > /shared-ldap/target/generated-sources/antlr/org/apache/directory/shared/ldap/subtree/AntlrSubtreeSpecificationCheckerLexer.java > /shared-ldap/target/generated-sources/antlr/org/apache/directory/shared/ldap/subtree/AntlrSubtreeSpecificationLexer.java > /shared-ldap/target/generated-sources/antlr/org/apache/directory/shared/ldap/trigger/AntlrTriggerSpecificationLexer.java > [1] http://findbugs.sourceforge.net/bugDescriptions.html#DM_NUMBER_CTOR > Using new Integer(int) is guaranteed to always result in a new object > whereas Integer.valueOf(int) allows caching of values to be done by the > compiler, class library, or JVM. Using of cached values avoids object > allocation and the code will be faster. > Values between -128 and 127 are guaranteed to have corresponding cached > instances and using valueOf is approximately 3.5 times faster than using > constructor. For values outside the constant range the performance of both > styles is the same. > Unless the class must be compatible with JVMs predating Java 1.5, use either > autoboxing or the valueOf() method when creating instances of Long, Integer, > Short, Character, and Byte. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.