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čí (JIRA)" <de...@myfaces.apache.org> on 2010/09/20 22:29:33 UTC
[jira] Updated: (MYFACES-2862) [PERF] Improve efficiency of
Application.createComponent(FacesContext,Resource) in production
[ https://issues.apache.org/jira/browse/MYFACES-2862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Kočí updated MYFACES-2862:
---------------------------------
Status: Patch Available (was: Open)
> [PERF] Improve efficiency of Application.createComponent(FacesContext,Resource) in production
> ---------------------------------------------------------------------------------------------
>
> Key: MYFACES-2862
> URL: https://issues.apache.org/jira/browse/MYFACES-2862
> Project: MyFaces Core
> Issue Type: Improvement
> Components: General, JSR-314
> Affects Versions: 2.0.2-SNAPSHOT
> Environment: myfaces trunk
> Reporter: Martin Kočí
> Attachments: MYFACES-2862-CACHING-EXAMPLE.patch, MYFACES-2862.patch
>
>
> Profiler marks as hot spot method ClassUtils.classForName(fqcn) which is called from Application.createComponent(FacesContext,Resource) during restore view phase.
> The reason is that in tested view are composite components and for each usage of them CompositeComponentResourceTagHandler
> calls Application.createComponent(FacesContext,Resource) during VDL.buildView. Invocation of ClassUtils.classForName calls loadClass method on ClassLoader (Tomcat's WebappClassLoader.findResourceInternal in my case) and that is an expensive operation.
> Something or maybe whole result of Application.createComponent should be cached in production mode. I did a simple cache attept and it saves ~15 ms in my test case with 6 composite components.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.