Werner Vogels has
a very interesting comparison of the performance of the IBM
1.3 Java VM and some .NET VMs (Java IBM 1.3.1, .NET CLR 1.1, Mono 0.23 &
SSCLI 1.0 to be precise) for some micro-benchmarks. It seems to validate the
conclusions in a comparison some months back (I can't remember where I read it, unfortunately).
If you want the 2 second executive summary: .NET 1.1 & IBM JVM 1.3 are
roughly comparable, Mono slower (but improving rapidly) and SSCLI trailing
in all benchmarks.
I'm not a numeric computing expert, but the gaps between any of them
don't look too significant in the floating point tests. The integer arithmetic
tests, seem to have Java & .NET 1.1 way ahead of the other two.
He doesn't say why the Sun 1.4 VMs weren't used. The evidence I've seen
around the place seems to indicate that the 1.3 IBM VM is as fast or faster
than the Sun VMs for numerical calculations anyway.
I would like to see a similar test run on the Sun 1.4.2 Server VM
(which has support for the SSE instruction
set on IA32 platforms) as well as some other low level performance optimizations.
BTW, one of the performance enhancements that I hadn't noticed in the 1.4.2 VM is
Faster NullPointerException handling.
That could easily double the performance of some of my apps!