myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carlson, John W." <>
Subject RE: dramatic performance decrease after update to JSF 1.2
Date Fri, 29 Jan 2010 18:54:11 GMT
Not surprising at all.  Obviously, a hardware vendor who makes their money selling hardware,
not software, wants to sell more hardware.
Also more features means slower software.


-----Original Message-----
From: Michael Heinen [] 
Sent: Friday, January 29, 2010 12:36 AM
To: MyFaces Discussion
Subject: RE: dramatic performance decrease after update to JSF 1.2

I am really astonished that nobody else out in the world faced or addressed this problem so
JSF 1.2 seems to be much slower than JSF 1.1 (with jsps, don't know about facelets).

It can be reproduced easily with a simple JSF app without tiles, richfaces and all this stuff.
Just create a simple page with a few hundred output tags without any EL: 
e.g. <h:outputText value="1" style="z-index:4711;"/>.

It is nearly two times slower and the time is lost during phase render response.
Same effect occurs with Mojarra, which seems to be faster than Myfaces (at least for this
simple case).

This effect is of course worse in case of heavy load on the app.
A version upgrade should not result in such a performance loss, we are not talking about a
few percent.

Does anybody have an explanation for this?
Is it caused by separating tree creation from rendering?
Is the component tree now walked completely two times, for creation and rendering?


-----Original Message-----
From: Michael Heinen [] 
Sent: Freitag, 15. Januar 2010 11:07
To: MyFaces Discussion
Subject: dramatic performance decrease after update to JSF 1.2


I have updated my application to JSF 1.2 during the last weeks.
Now I did some performance tests and the result has been alarming!
Performance declined by factor 2-4 depending on hardware and actions!!!

I used two different contexts on same Tomcat means identical tomcat config and JDK.
I started only one of the contexts for each tests run. Backend is also the same.
JMeter was used to fire requests but the difference can be seen by manual clicks immediately.

Obvious results:
Time is lost in phase render response.
Sample numbers for a single request on a slow notebook in phase render response (with debug
 JSF1.1: 1594ms
 JSF1.1: 4766ms
(The numbers are much better without debug logging of course but the factor is still the same)

  Tomcat 6.0.20

Updated Libs:
  myFaces: 1.1.5 to 1.2.8
  tomahawk: 1.1.7 to 12-1.1.9
  richfaces: 3.1.5 to 3.3.3Beta1
  tiles: 1(struts) to 2.0.5
  jstl:  1.1.0 to 1.2
  commons-digester: 1.7 to 1.8
  oro-2.0.8 to jakarta-oro.jar

  identical in 1.1 and 1.2:
    org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION = 1
    org.apache.myfaces.SERIALIZE_STATE_IN_SESSION = false

  1.2 new:
    org.apache.myfaces.SECRET added
    org.apache.myfaces.USE_ENCRYPTION = false
    org.apache.myfaces.CACHE_OLD_VIEWS_IN_SESSION_MODE=off (I patched this in 1.1 and removed
the old references)

Questions before I start profiling and probably sink time:
1) Is this typical or expected?
2) Is any new configuration flag added to 1.2 which could have high impact on performance?
3) Any other hints where to look at?


View raw message