I grabbed the attachments from the original performance bug https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=3 and ran some JMeter tests against the "JSP only" and the JSF versions. The pages are really simple, the JSP version outputs a page which is visually identical to the JSF page. The table in question had 10 columns and 50 - 200 rows. Not a huge amount of data. I used MyFaces 1.1.3 as the JSF implementation and ran the test in JBoss 4.0.4 GA running on JDK 1.4.2. Here's the results:
    
               Table Rows   Average [ms]  Median [ms]   Hits / Min   Samples
JSF Testcase    50           36            30            1300         5007
JSP Testcase    50           14            10            4030         5001
JSF Testcase    100          56            60            1050         5001
JSP Testcase    100          21            20            2700         5001
JSF Testcase    200          100           100           590          5001
JSP Testcase    200          26            30            2170         5001


This data confirms the discussion in the sun forum. The JSF version started out nearly three times slower than the JSP page. The relative performance of the JSF version degraded to nearly four times slower as table rows were added.

So if you are thinking about adopting JSF you should be aware of the performance hit and make sure that you can architect around the problem or get the performance benchmarks adjusted. Perceived performance is important in real life projects so it's more than a theoretical problem.

I'd also like to know if anybody has ideas or code samples that make JSF perform better? 


View this message in context: JSF Performance Problems
Sent from the MyFaces - Users forum at Nabble.com.

Reply via email to