You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Martin Kočí (Commented JIRA)" <de...@myfaces.apache.org> on 2012/02/17 20:14:00 UTC
[jira] [Commented] (MYFACES-3150) [perf] buildView: review usage of
"facelets.FACET_NAME"
[ 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