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

Martin Marinschek commented on TRINIDAD-1809:
---------------------------------------------

Hi Stefan,

yes, you are right - it would be safe to do this. In cs-JSF we do exactly this 
- we also cache the rendered attribute from the begin of processDecodes until 
the end of invoke application.

However: if you cache this in a transient attributes, you need to treat stuff 
in data-tables differently. Transient attributes are not saved/restored per row 
while a data-table is processed, a long standing issue we have with the spec.

best regards,

Martin

> CPU impact for repeated calls to isRenderer on UIXComponentBase
> ---------------------------------------------------------------
>
>                 Key: TRINIDAD-1809
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1809
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Components
>            Reporter: Stevan Malesevic
>
> While using Trinidad framework we noticed that even with very complex app 
> having complex bus logic we still spend some 2-3% of time doing checks on 
> isRenderer() on UIXComponentBase. In general the problem is that number of 
> these are EL expression on some EL expressions are not very cheap to 
> evaluate. Now, the fact that there are number of duplicate checks makes the 
> cost higher. The big chunk of calls comes from 3 areas
> 1. encodeBegin, encodeChild and encodeEnd all do the check
> 2. __encodeRecursive does a check and then invokes methods from 1.
> 3. CoreRenderer.encodeChild also does a check and then calls group 1.
> Generally it should be possible to mark renderer as local property at the 
> begging of comp rendering and use it . This should save a 1/3 of cpu cycles

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