geronimo-dev mailing list archives

Hi,
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
time).
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
reflection.
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.
Emmanuel