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