Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.1-SNAPSHOT
    • Fix Version/s: 1.2.2
    • Component/s: None
    • Labels:
      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.

        Issue Links

          Activity

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Patch Available Patch Available
          1m 30s 1 Michael Kurz 22/Oct/07 12:32
          Patch Available Patch Available Resolved Resolved
          3d 21h 45m 1 Martin Marinschek 26/Oct/07 10:18
          Resolved Resolved Closed Closed
          54d 10h 9m 1 Leonardo Uribe 19/Dec/07 19:27
          Krashan Brahmanjara made changes -
          Link This issue is cloned as MYFACES-3528 [ MYFACES-3528 ]
          Leonardo Uribe made changes -
          Fix Version/s 1.2.1 [ 12312895 ]
          Fix Version/s 1.2.2 [ 12312932 ]
          Leonardo Uribe made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Leonardo Uribe made changes -
          Fix Version/s 1.2.1-SNAPSHOT [ 12312571 ]
          Fix Version/s 1.2.1 [ 12312895 ]
          Martin Marinschek made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Assignee Martin Marinschek [ mmarinschek ]
          Hide
          Martin Marinschek added a comment -

          Thanks to Michael Kurz for this important patch.

          regards,

          Martin

          Show
          Martin Marinschek added a comment - Thanks to Michael Kurz for this important patch. regards, Martin
          Michael Kurz made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Michael Kurz made changes -
          Field Original Value New Value
          Attachment myfaces1749-patch.zip [ 12368134 ]
          Hide
          Michael Kurz added a comment -

          Patch with performance related changes.

          Show
          Michael Kurz added a comment - Patch with performance related changes.
          Michael Kurz created issue -

            People

            • Assignee:
              Martin Marinschek
              Reporter:
              Michael Kurz
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development