[
https://issues.apache.org/jira/browse/MYFACES-3150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13210456#comment-13210456
]
Martin Kočí commented on MYFACES-3150:
--------------------------------------
actually it creates 4000 "empty" invocations of Map.get, because
UIComponent.getValueExpression itself calls Map.get 2x:
1) bindings = getStateHelper(). get(PropertyKeys.bindings);
2) return (ValueExpression) bindings.get(name);
> [perf] buildView: review usage of "facelets.FACET_NAME"
> -------------------------------------------------------
>
> Key: MYFACES-3150
> URL: https://issues.apache.org/jira/browse/MYFACES-3150
> Project: MyFaces Core
> Issue Type: Improvement
> Components: General
> Affects Versions: 2.1.0-SNAPSHOT
> Environment: myfaces core trunk
> Reporter: Martin Kočí
> Assignee: Martin Kočí
> Priority: Minor
>
> Consider 1000 components in view without any f:facet.
> During VDL.buildView Facelets call for each component
> ComponentHandler.getFacetName(FaceletContext, UIComponent) and that creates 3
> calls of Map.get():
> 1) _ComponentAttributesMap.getPropertyDescriptor(String)
> 2) _ComponentAttributesMap.getUnderlyingMap().get()
> 3) UIComponent.getValueExpression(String)
> 3000 "empty" invocations in buildView withnout match.
> Suggestions:
> * do not use Component.attribute for that marker (comes from FacetHandler)
> * replace map.get calls with property for performance reasons
> * use a stack or property on AbstractFaceletContext if possible
--
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