myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (Commented) (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Commented] (MYFACES-3528) CLONE - Performance Improvements
Date Thu, 19 Apr 2012 17:50:41 GMT

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

Leonardo Uribe commented on MYFACES-3528:
-----------------------------------------

A lot of improvements has been already done in 2.1.x / 2.0.x, but they are not ported yet
to 1.2.x / 1.1.x because since these two versions are in maintenance stage, care must be taken
to ensure do not break existing applications, and most of the interest is in JSF 2.0/2.1/2.2.
If you provide a patch, I'll check it and commit it for you. Note for most of the changes,
it s a "backport", which means just take the improvement from 2.0.x or 1.2.x and apply it
in 1.1.x.
                
> 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
>
>
> 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

        

Mime
View raw message