[ 
https://issues.apache.org/jira/browse/TRINIDAD-906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561439#action_12561439
 ] 

Gabrielle Crawford commented on TRINIDAD-906:
---------------------------------------------

Martin, thanks for the feedback. I have to say, I'm not a perf expert, I 
suggested using the request and it was the perf guy here who suggested 
ThreadLocal instead....if anyone has perf concerns about this please let me 
know. 

> 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
>            Assignee: Gabrielle Crawford
>            Priority: Minor
>             Fix For: 1.0.6-core, 1.2.6-core
>
>
> 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