geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Cecchet <>
Subject Reflection performance
Date Mon, 01 Sep 2003 18:19:33 GMT

I just subscribed to the mailing list but I found in the archive some discussion 
about performance. I am one of the author of the "EJB performance and 
scalability" paper. I would like to precise that we used OptimizeIt to profile 
cpu usage on running instances of JBoss 2.4, JBoss 3.0 and JOnAS.
In JBoss 2.4, we observed up to 34% of cpu time in reflection (using JDK 1.3) 
and that was really limiting the scalability of the container. When Sun 
announced a major improvement of reflection scalability in JDK 1.4, we performed 
again the measurements since it may have significantly affected the results. 
Finally, we just saw a very little improvement of 2 to 4% that did not result in 
an overall improvement.
JBoss 3.0 has significantly reduced its usage of reflection (roughly 1% of 
overall cpu time) which leads to much better performances.
JOnAS has a precompiled approach and mostly doesn't use reflection (0.1% of cpu 
In their stable releases, both JBoss 3.0 and JOnAS 2.6 performed almost the same 
(and much better than JBoss 2.4). I don't have the numbers for the latest 
versions since our measurements needs several months to execute but the 
important point is that reflection induces a performance scalability issue if 
you don't use it carefully. And JDK 1.4 does not give a significant boost to 

I don't want to give any advice about container design but this was our 
experience and I think it's important for the geronimo developers to be aware of 
these facts.


View raw message