Details
-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Critical
-
Resolution: Done
-
Affects Version/s: 3.0.0.Beta2
-
Fix Version/s: 3.0.0.Beta3
-
Component/s: Reflections
-
Labels:None
-
Git Pull Request:
Description
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); ... }
Gliffy Diagrams
Activity
- All
- Comments
- Work Log
- History
- Activity
- Links Hierarchy
Applied patch to master