Hi, I'll try it but not today :) Optimization is my priority task for next few months and certainly I'll compare all four (or more?) EL implementations.
Mark Struberg píše v St 25. 08. 2010 v 17:52 +0000: > Martin, could you please give juel a quick try? Would be interested if if > also > suffers from this problem. > > You can find a slightly tweaked (bugfixed) version of it on my github page > > http://github.com/struberg/juel > > The original is on juel.sourceforge.net > > LieGrue, > strub > > > > > >From: Jakob Korherr <jakob.korh...@gmail.com> > >To: MyFaces Development <dev@myfaces.apache.org> > >Sent: Wed, August 25, 2010 5:10:09 PM > >Subject: Re: EL method invocation performance > > > >Hi, > > > >Does this really have to happen at every method invocation or is this an > >implementation problem? > > > >If it is an implementation problem and can be circumvent in any way, I would > >contact the Glassfish and Tomcat developers about this ;) > > > >Regards, > >Jakob > > > > > >2010/8/25 Ivan <xhh...@gmail.com> > > > >How about trying the el api published by Geronimo ? it caches the > >ExpressionFactory to avoid the search action by default. > >> > >> > >>2010/8/25 Martin Koci <martin.k...@aura.cz> > >> > >> > >>Hi, > >>> > >>>this problem is not in myfaces but affects performance especially in > >>>render response phase: > >>> > >>>EL 2.2 introduces method invocation but if you try use it like > >>>rendered="#{bean.getRendered(param)}" there is an unpleasant surprise: > >>>both implementations of BeanELResolver (Glassfish, Tomcat) use this > >>>construction during method invocation: > >>> > >>>ExpressionFactory exprFactory = ExpressionFactory.newInstance(); > >>> > >>>That newInstance() always involves FactoryFinder mechanism, callstack > >>>then looks like : > >>> > >>>org.apache.catalina.loader.WebappClassLoader.findResourceInternal > >>> org.apache.catalina.loader.WebappClassLoader.findResource > >>> org.apache.catalina.loader.WebappClassLoader.getResourceAsStream > >>> javax.el.FactoryFinder.find(String, String, Properties) > >>> javax.el.ExpressionFactory.newInstance(Properties) > >>> javax.el.ExpressionFactory.newInstance() > >>> javax.el.BeanELResolver.invokeMethod(Method, Object, Object[]) > >>> > >>> > >>>Always tries to locale factory implementation, that > >>>means /META-INF/services reading! This is not problem in myfaces, but > >>>users don't distinguish between JSF and EL well. > >>> > >>>Any ideas? > >>> > >>>Regards, > >>> > >>>Martin Kočí > >>> > >>>https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java > >>> > >>> > >>>http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java > >>> > >>> > >>> > >>> > >> > >> > >>-- > >>Ivan > >> > > > > > >-- > >Jakob Korherr > > > >blog: http://www.jakobk.com > >twitter: http://twitter.com/jakobkorherr > >work: http://www.irian.at > > > > > >