]
Lincoln Baxter III updated SOLDER-69:
-------------------------------------
Summary: Solder Messages are *extremely* slow in AnnotatedTypeBuilder and
AnnotationBuilder, should not be used in such a performance sensitive place (was: Solder
Messages are *extremely* slow in AnnotatedTypeBuilder, should not be used in such a
performance sensitive place)
Solder Messages are *extremely* slow in AnnotatedTypeBuilder and
AnnotationBuilder, should not be used in such a performance sensitive place
--------------------------------------------------------------------------------------------------------------------------------------------
Key: SOLDER-69
URL:
https://issues.jboss.org/browse/SOLDER-69
Project: Seam Solder
Issue Type: Bug
Components: Reflections
Affects Versions: 3.0.0.Beta2
Reporter: Lincoln Baxter III
Priority: Critical
According to my YourKit profile of Seam Forge bootstrap, the following message bundle
lookup is responsible for roughly 80% of boot-up time, just from all the instances of
AnnotationBuilder and related classes that solder creates on EVERY Weld bootstrap.
Obviously this could be simply removed and replaced with non-i18n messages, or these
messages could be cached and loaded in a more performant manner... IMO, this is going to
be a huge problem with messages. JBoss logging is slow, but message bundle lookup is much
slower.
The two offenders are the following methods - consider making them static, since this
only needs to be done once per JVM:
public class AnnotationBuilder
{
private transient static AnnotatedMessages messages =
Messages.getBundle(AnnotatedMessages.class);
...
}
public class AnnotatedTypeBuilder<T>
{
private transient static AnnotatedMessages messages =
Messages.getBundle(AnnotatedMessages.class);
...
}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: