Uploaded image for project: 'Solder'
  1. Solder
  2. SOLDER-69

Solder Messages are *extremely* slow in AnnotatedTypeBuilder and AnnotationBuilder, should be static

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 3.0.0.Beta2
    • Fix Version/s: 3.0.0.Beta3
    • Component/s: Reflections
    • Labels:
      None

      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);
      ...
      }

        Attachments

          Activity

            People

            Assignee:
            shane.bryzak Shane Bryzak
            Reporter:
            lincolnthree Lincoln Baxter III (Inactive)
            Archiver:
            samahaja Sagar Mahajan

              Dates

              Created:
              Updated:
              Resolved:
              Archived: