[ 
https://issues.apache.org/jira/browse/MYFACES-3528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13258160#comment-13258160
 ] 

Krashan Brahmanjara commented on MYFACES-3528:
----------------------------------------------

This patch can help users of myfaces 1.1 with infinite loop problems like:
 MYFACES-1162  (_ComponentAttributesMap.getPropertyDescriptor appears to get 
hung in a HashMap under peak load.)
or
 MYFACES-3442 (infinite loop under heavy load)
                
> CLONE - Performance Improvements
> --------------------------------
>
>                 Key: MYFACES-3528
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3528
>             Project: MyFaces Core
>          Issue Type: Improvement
>            Reporter: Krashan Brahmanjara
>            Assignee: Martin Marinschek
>             Fix For: 1.2.2
>
>         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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to