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

Leonardo Uribe commented on MYFACES-3488:
-----------------------------------------

The idea with that check lenght first is prevent an unnecessary cast. The 
number comparison is cheaper compared with the cast, so it is ok to let it as 
is.
                
> [perf] store facelets MARK_CREATED and rendererType at UIComponentBase level
> ----------------------------------------------------------------------------
>
>                 Key: MYFACES-3488
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3488
>             Project: MyFaces Core
>          Issue Type: Improvement
>          Components: JSR-314
>            Reporter: Leonardo Uribe
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.13, 2.1.7
>
>
> Inspired on the suggestions done in MYFACES-3470 and MYFACES-3471, I have 
> found a solution for both cases.
> MARK_CREATED and rendererType are special properties. Both are more related 
> to the real UIComponent instance, which means those properties does not 
> change for components inside a table (h:dataTable rowStatePreserved="true"). 
> In the case of MARK_CREATED, almost all components created by facelets uses 
> it, and this is assigned when the view is built. It has only sense to save 
> this value when the component needs to be restored fully, but since this is a 
> property that does not change once created, it does not have sense to store 
> it on the delta. 
> In the case of rendererType, the same as MARK_CREATED happens, but by the 
> spec, it could be valid to set a ValueExpression for it and it is feasible to 
> create a component, call markInitialState() and then call 
> setRendererType(...), so this value could be saved on the delta.
> Components that are created without properties (for example h:panelGroup) 
> only require these two properties, so storing these values at UIComponentBase 
> it is possible to prevent create unnecessary Map.Entry instances. 

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

        

Reply via email to