Along with the ordering idea, I wonder if we couldn't optimize this code path somewhat. We know that we are going to be invoked on almost every EL expression (if not every EL expression). It seems like copying that list of all beans, just to iterate over it looking for a bean with a given name is kind of expensive. I wonder if we couldn't have a less expensive operation we could call internally when we aren't afraid of exposing the list.
Sincerely, Joe On Tue, Feb 23, 2010 at 7:05 AM, Mark Struberg <[email protected]> wrote: > oki sure, I will defer this patch until after we ship M4! > > txs and LieGrue, > strub > > --- Gurkan Erdogdu <[email protected]> schrieb am Di, 23.2.2010: > > > Von: Gurkan Erdogdu <[email protected]> > > Betreff: Re: InjectionResolver.implResolveByName performance > > An: [email protected] > > Datum: Dienstag, 23. Februar, 2010 12:54 Uhr > > >>>@all: please note that > > this will make webbeans-jsf a JSF-2.0 component. > > Is this ok? We could still provide a JSF-1.2 branch of that > > later if we > > like. > > What is the meaning of " + > > <name>org.apache.openwebbeans</name>"? > > > > Look at it after M4 release. I do not break something huge > > before M4 > > release. > > > > 2010/2/23 Mark Struberg <[email protected]> > > > > > Martin, can you please fill a Jira? > > > > > > I already implemented that (with Jakob helping me). > > > > > > The only thing we need to do is to upgrade our > > faces-config.xml in > > > webbeans-jsf: > > > > > > -<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" > > > +<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee" > > > xmlns:xi="http://www.w3.org/2001/XInclude" > > > - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee > > > http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"> > > > + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee > > > http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"> > > > + <name>org.apache.openwebbeans</name> > > > <application> > > > > > > > > > <view-handler>org.apache.webbeans.jsf.ConversationAwareViewHandler</view-handler> > > > <el-resolver>org.apache.webbeans.el.WebBeansELResolver</el-resolver> > > > > > > > > > @all: please note that this will make webbeans-jsf a > > JSF-2.0 component. Is > > > this ok? We could still provide a JSF-1.2 branch of > > that later if we like. > > > > > > LieGrue, > > > strub > > > > > > > > > --- Martin Koci <[email protected]> > > schrieb am Mo, 22.2.2010: > > > > > > > Von: Martin Koci <[email protected]> > > > > Betreff: Re: InjectionResolver.implResolveByName > > performance > > > > An: [email protected] > > > > Datum: Montag, 22. Februar, 2010 22:01 Uhr > > > > > > > > Yes, WebBeansELResolver tries to resolve every > > bean. > > > > Very simple solution was to use JSF 2.0 artifact > > ordering > > > > and put > > > > <others/> element as last one but this > > solution > > > > unfortunately has > > > > influence on other unnamed or JSF 1.2 based > > artifact. > > > > > > > > Do you think it is possible to modify OWB > > built for > > > > delivering JSF 2.0 > > > > named artifact? It will help many projects with > > migration > > > > from managed > > > > beans and spring to CDI. > > > > > > > > Example: > > > > > > > > <absolute-ordering> > > > > > > > > <name>my_excelent_renderkit</name> > > > > > > <name>openwebbeans</name> > > > > <others /> > > > > </absolute-ordering> > > > > > > > > > > > > Joseph Bergmark píše v Po 22. 02. 2010 v 15:34 > > -0500: > > > > > I believe the issue is that our EL resolver > > is first > > > > in the chain, so gets > > > > > called every single time even if the > > expression does > > > > not turn out to be one > > > > > that references a CDI bean. 2 million > > does seem > > > > like a very large number of > > > > > times though. > > > > > > > > > > Sincerely, > > > > > > > > > > Joe > > > > > > > > > > On Mon, Feb 22, 2010 at 3:32 PM, Mark > > Struberg <[email protected]> > > > > wrote: > > > > > > > > > > > Thanks Martin! > > > > > > > > > > > > And yes, this may be a problem, though > > not sure > > > > where it comes from ... > > > > > > > > > > > > :) > > > > > > > > > > > > LieGrue, > > > > > > strub > > > > > > > > > > > > --- Martin Koci <[email protected]> > > > > schrieb am Mo, 22.2.2010: > > > > > > > > > > > > > Von: Martin Koci <[email protected]> > > > > > > > Betreff: > > InjectionResolver.implResolveByName > > > > performance > > > > > > > An: [email protected] > > > > > > > Datum: Montag, 22. Februar, 2010 > > 21:28 Uhr > > > > > > > Hi, > > > > > > > > > > > > > > I did some profiling and > > YourKitProfiler > > > > always marks > > > > > > > > > InjectionResolver.implResolveByName as > > > > hotspot. It is > > > > > > > called over 2 > > > > > > > mills. times per request/response. > > All those > > > > calls come > > > > > > > from > > > > > > > ELResolver.getValue() - its is a > > very non > > > > trivial JSF > > > > > > > view so it is > > > > > > > probably ok (even two milions) and > > in > > > > application is no CDI > > > > > > > bean yet > > > > > > > (all are still spring and > > jsf > > > > managed). > > > > > > > Do you think it is a problem? > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > Martin Kočí > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > __________________________________________________ > > > > > > Do You Yahoo!? > > > > > > Sie sind Spam leid? Yahoo! Mail > > verfügt über > > > > einen herausragenden Schutz > > > > > > gegen Massenmails. > > > > > > http://mail.yahoo.com > > > > > > > > > > > > > > > > > > > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Sie sind Spam leid? Yahoo! Mail verfügt über einen > > herausragenden Schutz > > > gegen Massenmails. > > > http://mail.yahoo.com > > > > > > > > > > > -- > > Gurkan Erdogdu > > http://gurkanerdogdu.blogspot.com > > > > __________________________________________________ > Do You Yahoo!? > Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz > gegen Massenmails. > http://mail.yahoo.com >
