[
https://issues.apache.org/jira/browse/MYFACES-3480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13223524#comment-13223524
]
Martin Kočí commented on MYFACES-3480:
--------------------------------------
patches for classes found by profiler. _ComponentAttributesMap patch reduces
unnecessary StateHelper/HashMap initializations from:
javax.faces.component._ComponentAttributesMap.getUnderlyingMap()
javax.faces.component._ComponentAttributesMap.containsKey(Object)
javax.faces.component.UIComponent.isCompositeComponent(UIComponent)
javax.faces.component.UIComponent._isCompositeComponent()
and
javax.faces.component._ComponentAttributesMap.get()
org.apache.myfaces.view.facelets.impl.FaceletCompositionContextImpl.finalizeForDeletion(UIComponent)
There are more classes for optimalization, but complexity requires separate
bugs.
> [perf] Use lazy init for HashMap/HastSet where possible
> -------------------------------------------------------
>
> Key: MYFACES-3480
> URL: https://issues.apache.org/jira/browse/MYFACES-3480
> Project: MyFaces Core
> Issue Type: Improvement
> Reporter: Martin Kočí
> Assignee: Martin Kočí
> Priority: Minor
> Attachments: FaceletCompositionContextImpl.patch,
> RequestViewContext.patch, TemplateContextImpl.patch, UIViewRoot.patch,
> _ComponentAttributesMap.patch
>
>
> goal: make component tree creation fast as possible and avoid unnecessary
> instances
> some components instantialize attributes direct in field or in constructor.
> In many cases it is not necessary, because those HashMap/Set instances are
> not used in current request/response - it depends on use case.
> Example: UIViewRoot.listenerSuccessMap: lazy init is very suitable, because
> many view have no phase listener.
> Check all components: candidates are "smarter" components like UIDate or
> UIInput
--
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