2009年3月10日星期二

Does Java Run Faster On .NET VM and Windows Azure?

There's an interesting thread taking place over on the IKVM.NET mailing list. It starts with a post from Alberto Diez:
Dear all,
I have tried the IKVM tool with the Java library weka.jar; I have generatedthe corresponding weka.dll and I have tried out some algorithms under .NETframework (C#, Visual Studio 2005) with really surprising results: it worksbetter (it builds models faster and with less-consuming memory) than underJava (Eclipse framework and directly under command prompt, with the jdk-jre1.6.03 installed)!
I wonder if this is normal or I am doing something wrong...
Thanks in advance.
Kind regards,Alberto.
Dr. Michael Kay then follows-up with:
Sounds good to me!
For Saxon I generally reckon the .NET code is slower than the native Javaequivalent by a factor of 1.2 to 1.5 - but that's on a fairly limitedsample. The .NET code has much faster warm-up time, so it's faster overallfor small jobs.
Michael Kayhttp://www.saxonica.com/
Interesting, though not really all that surprising. Given the fact that:
Java is now open source
The IKVM.NET library is built on top of that source
The Java libraries are compiled to CIL just like any other .NET library
You've got a world class developer in Jeroen Frijters finding every possible way to tweak as much performance into the IKVM.NET VM and compiler
The .NET platform performs better under various circumstances and scenarios
... why wouldn't Java code run faster on the .NET platform, at least under these same circumstances and scenarios?
Oh, and BTW: Interested in running your Java code on Windows Azure? That's now possible too. :-)

没有评论:

发表评论