You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Gabrielle Crawford (JIRA)" <de...@myfaces.apache.org> on 2008/01/19 01:48:34 UTC

[jira] Commented: (TRINIDAD-906) optimize getClientId - use per thread shared StringBuilder

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

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

Completed: At revision: 613331  for trunk 1.0

> 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
>             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.