Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-1749

Performance Improvements

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.1-SNAPSHOT
    • 1.2.2
    • None
    • None

    Description

      Last week I did some JMeter testing, profiling and code checking on MyFaces to try increase the overall performance. Here are my suggestions for improvement:

      *) _ComponentAttributesMap
      I introduced a cache for maps with component attributes. This cache avoids rebuilding the map for every instance of the same component class. It is implemented using a WeakHashMap to allow the GC to remove entries that are not referenced in any instance.

      *) UIComponentBase
      Made a few changes in isIdValid as it is called quite often. The new id is now checked against the old id and if it is the same it is assumed as valid (avoids checking chars). Additionally I use isLetterOrDigit() and access string chars directly insted of fetching an array first.

      *) ImplicitObjectResolver
      I replaced List with Map to avoid iteration over lists.

      *) HtmlResponseWriterImpl
      Use new method of HTMLEncoder for char[]

      *) HTMLEncoder
      Improved performance of encode mthod and added a new one that takes a char[] und directly writes to a writer.

      *) UnicodeEncoder
      Replaced StringBuffer with StringBuilder.

      Attachments

        1. myfaces1749-patch.zip
          7 kB
          Michael Kurz

        Issue Links

          Activity

            People

              mmarinschek Martin Marinschek
              dr.gonzo Michael Kurz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: