This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Native RMI optimization


Rui Wang wrote:
My understanding of GCJ-compiled native RMI is that it should run faster
than Java RMI. Having said that, I did a test to see the speed of pure
RMI calls. By pure, I mean client calls a empty remote method. If I
measure the time in between, this should give me the RMI call time,
right? Here is a set of results I got (I have also attached my source
code and shell script with this email):


Oddly enough, when the number of calls are small, the native rmi is
faster than java rmi, but when the number grows bigger, it actually
becomes slower. Any ideas why? I know GCJ version of RMI has not been a
focus of the development, would this be the reason? Or is it something
to do with my code?

These numbers are pretty much with what I'd expect. On one hand, Sun's Hotspot is a good compiler/runtime, and will sometimes outperform GCJ-compiled code on benchmarks like this. In addition, the libgcj/GNU Classpath implementation of Object serialization may not be as well-optimized as it could be.


The reason why GCJ wins the benchmark with a small number of iterations is that it has much lower startup overhead than Hotspot. That is, during the first iterations the GCJ code is already running at full speed while Hotspot is still busy compiling and optimizing the code.

Bryce


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]