Thomas Andraschko updated MYFACES-3528:
    Resolution: Won't Fix
        Status: Resolved  (was: Patch Available)

As 1.x is in maintenance mode and this is "just" a improvement, i would close 
this for now.

> CLONE - Performance Improvements
> --------------------------------
>                 Key: MYFACES-3528
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3528
>             Project: MyFaces Core
>          Issue Type: Improvement
>    Affects Versions: 1.1.9
>            Reporter: Krashan Brahmanjara
>            Assignee: Martin Marinschek
>             Fix For: 1.1.11-SNAPSHOT
>         Attachments: ApplicationImpl.java, _ComponentAttributesMap.java
> 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.

This message was sent by Atlassian JIRA

Reply via email to