optimize getClientId - use per thread shared StringBuilder
----------------------------------------------------------

                 Key: TRINIDAD-906
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-906
             Project: MyFaces Trinidad
          Issue Type: Bug
    Affects Versions: 1.2.5-core
            Reporter: Gabrielle Crawford
            Priority: Minor


In getClientId/getContainerClientId we create a new stringBuilder. 

However when creating a client id we only use one stringBuilder at a time, so 
have a single instance of a StringBuilder saved on thread local. 

Have a utility to get this instance, and any time a user gets the instance, set 
the length of the stringBuilder to 0. This will completely break if a user 
tries to call it for 2 stringbuilders, so doc this well.

Preliminary testing by a performance person here at Oracle found "the saving is 
~300KB out of 5850KB for the request. This is about 5% total request memory. As 
expected profile shows that most of the memory saving comes from not creating 
huge number of string builders"

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to