So, here are finally some results from JMeter for 600 requests. Both MyFaces and Mojarra runs on Jetty8.
http://img59.imageshack.us/img59/4720/stateless.jpg AFAICS MyFaces performs better on postbacks but Mojarra seems to be faster for get requests. Anybody knows why Mojarra is a lot faster for the first example (Simple page with 2000 items in a h:datatable) under load? Also i sent back the the code to rudy for 3 weeks ago but he did not shared / posted it. Now i completely refactored the code again and added complete MyFaces compatibility. Is anyone interested in this extension? Where could i share it? I could add it as submodule to primefaces-extensions but it has nothing to do with primefaces... MyFaces Extension or else would be great :D 2012/1/5 Thomas Andraschko <zoi...@googlemail.com> > Hi Mark, > > thanks for sharing your request times! > > don't know but it's really that slow^^ > Currently the test page is embedded in a private project but i will create > an own test project only for "stateless-jsf". > I will also do some load tests with JMeter and share the result then. > > Hopefully MYFACES-3266 can be done in the next versions, this blows up my > code :) > > Best regards, > Thomas > > > 2011/12/31 Mark Struberg <strub...@yahoo.de> > >> MyFaces is faster, but I didn't think that Mojarra is so slow ^^. >> Our fat pages (~2000 lines in a complex h:dataTable -> more than 300.000 >> ELResolver invocations) use to take up to 350ms. Small pages render in 17ms >> on our Server with OWB and MyFaces. >> >> I once tested the fat pages with Glassfish and didn't came under 5 >> seconds. But this was quite some time ago when Weld used to be much slower >> (we now gave them a few hints on performance improvements in the meantme) >> and the Sun EL impl had some serious performance hogs. >> >> >> Is your test page setup freely available? You might share your findings >> with the Mojarra team. They might be interested to check where they have >> problematic spots. >> >> LieGrue, >> strub >> >> >> ----- Original Message ----- >> > From: Thomas Andraschko <zoi...@googlemail.com> >> > To: MyFaces Discussion <users@myfaces.apache.org> >> > Cc: >> > Sent: Saturday, December 31, 2011 4:21 AM >> > Subject: Re: Weird PlexusContainer object in ViewRoot >> > >> > Hi, >> > >> > so i just did some final tests and these are the result with MyFaces >> and a >> > simple test page. >> > The values are not really accurate, i just tested in on my locale system >> > with firebug for around 10-15 times. >> > >> > AJAX PostBacks (Production): >> > Before: 32-52ms >> > After: 23-37ms >> > >> > PostBack (Production): >> > Before: 27ms >> > After: 12ms >> > >> > The same page with Mojarra: >> > >> > AJAX PostBacks (Production): >> > Before: 148-196ms >> > After: 26-50ms >> > >> > PostBack (Production): >> > Before: 140-170ms >> > After: 15-27ms >> > >> > Also if the values are not really accurate, is MyFaces really that much >> > faster? >> > >> > You said that you use a simliar plugin for stateless views. >> > How does your plugin work? Some details would be great :) >> > >> > Best regards >> > Thomas >> > >> > 2011/12/30 Thomas Andraschko <zoi...@googlemail.com> >> > >> >> Hi, >> >> >> >> yep, thanks! >> >> I completly redeveloped it (i also contributed the new code back) and >> i >> >> just test it but the improvement is similar - it's much faster! >> >> I can post the detail later :) >> >> >> >> >> >> >> >> 2011/12/30 Martin Koci <martin.kocicak.k...@gmail.com> >> >> >> >>> Hi, >> >>> >> >>> do you mean non-static logger in myfaces UIViewRoot ? That is >> probably >> >>> problem [1] - I must solve it finally. >> >>> >> >>> I checked quickly statelessjsf - we use similar solution in some jsf >> >>> project - completely stateless views. >> >>> >> >>> Which improvement do you see with myfaces + statelessjsf? The blog >> [2] >> >>> shows at the first picture time 98ms vs. 7ms : 90% improvement: did >> you >> >>> get similar results with myfaces? >> >>> >> >>> Regards, >> >>> >> >>> Kočičák >> >>> >> >>> [1] https://issues.apache.org/jira/browse/MYFACES-3266 >> >>> [2] >> >>> >> >>> >> > >> http://industrieit.com/blog/2011/11/stateless-jsf-high-performance-zero-per-request-memory-overhead/ >> >>> >> >>> Thomas Andraschko píše v Pá 30. 12. 2011 v 12:43 +0100: >> >>> > Hi, >> >>> > >> >>> > thanks for you answer :) >> >>> > Jap, i deploy it with jetty:run. >> >>> > I already found the issue, somehow this objects are stored in the >> >>> Logger. >> >>> > I changed the code that the logger will be removed before cloning >> > the >> >>> > ViewRoot. >> >>> > Now it also works with MyFaces :) >> >>> > >> >>> > Thomas >> >>> > >> >>> > 2011/12/30 Martin Koci <martin.kocicak.k...@gmail.com> >> >>> > >> >>> > > Hi, >> >>> > > >> >>> > > Plexus container is a IoC container used by Maven, so this >> > must be >> >>> > > bug/feature in maven jetty plugin in combination with >> > statelessjsf. Do >> >>> > > you deploy it with mvn jetty:run? >> >>> > > >> >>> > > Regards, >> >>> > > >> >>> > > Kočičák >> >>> > > >> >>> > > Thomas Andraschko píše v Út 27. 12. 2011 v 15:00 +0100: >> >>> > > > Hi, >> >>> > > > >> >>> > > > i'm trying to use the statelessjsf addon (It's a >> > addon developed by >> >>> > > > industrieit from rudy but the link is currently offline) >> > for my >> >>> > > > application. In a basic sample application it works with >> > myfaces >> >>> (with >> >>> > > some >> >>> > > > modification) and mojarra. >> >>> > > > Somehow in my real project, i get an exception when the >> > addon is >> >>> trying >> >>> > > to >> >>> > > > clone the viewroot: >> >>> > > > >> >>> > > > java.lang.IllegalArgumentException: Can not set >> >>> > > > org.codehaus.plexus.PlexusContainer field >> >>> > > > >> >>> org.codehaus.plexus.archiver.manager.DefaultArchiverManager.container >> > to >> >>> > > > >> > org.codehaus.plexus.archiver.manager.DefaultArchiverManager >> >>> > > > at >> >>> > > > >> >>> > > >> >>> >> > >> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146) >> >>> > > > at >> >>> > > > >> >>> > > >> >>> >> > >> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150) >> >>> > > > at >> >>> > > > >> >>> > > >> >>> >> > >> sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:37) >> >>> > > > at >> >>> > > > >> >>> > > >> >>> >> > >> sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:57) >> >>> > > > >> >>> > > > This does only occur if i run the application within >> > maven and >> >>> jetty. On >> >>> > > > Tomcat, no exception occurs. >> >>> > > > Where does this Plexus stuff come from? Why is it in the >> > view root? >> >>> > > > >> >>> > > > Thanks and best regards >> >>> > > > Thomas >> >>> > > >> >>> > > >> >>> > > >> >>> >> >>> >> >>> >> >> >> > >> > >