Java Performance On Ubuntu Vs. Windows Vista 258
Henckle writes "Phoronix did a comparison of the Java performance between Ubuntu and Windows Vista. They tested both Java and OpenJDK on Ubuntu 8.10 and Java on Windows Vista Premium SP1, all with stock configurations. To no-one's surprise, Ubuntu was faster in a majority of the tests. The two OSs were similar in ray-tracing, and Vista was faster at Java OpenGL due to shortcomings with the Linux graphics driver."
Ray tracing in Java (Score:4, Interesting)
Have computers or JIT compilers gotten fast enough that people actually do ray tracing in Java?
Not surprising (Score:4, Interesting)
I've been using scimark for years to evaluate system performance with java.
Try it yourself. [nist.gov]
Linux has outperformed windows (on average) for years, and OSX as well until recently. (java 1.4 performance on OSX was dismal)
Re:Ray tracing in Java (Score:5, Interesting)
Re:that's odd (Score:3, Interesting)
Bah, theoretical Java performance (Score:2, Interesting)
Linux fails, because the overhead of running ubuntu gets COMBINED with the overhead of running FireFox of Epiphany or whatever, whereas windows overhead already includes IE.
Pretty much the only thing "taxing" I use my laptop for is playing Runescape (browser hosted 3d rendered 100% java applet MMORPG) and with the same laptop dual-booting WinXP and Ubuntu, it is 100% flawless under windows in IE and almost unplayable in Ubuntu for any combination of browser and JDK that I have tried. I am almost to the point of writing my own browser applet container (the game requires a browser, 100% applet container doesn't work), it is just really annoying to switch to "windows the hog" just to play a simple video game that SHOULD be cross platform (and is as long as the linux system is higher spec than my laptop)
Java on desktop has been irrelevant for a while (Score:3, Interesting)
Re:Fairness (Score:2, Interesting)
Sorry, that's just a stupid argument. Because an application is closed source they're never going to boost performance?
No, because the OS is closed source you'll always be at the mercy of the license provider to boost performance. Honestly, how much does Microsoft _really_ care about Java performance? Not a hell of a lot.
Besides which, benchmarks are for the here and now. OpenGL drivers may improve for Linux, Vista may improve its file handling, JavaVMs may see better optimisation, heck, even the damn benchmarks will probably get updated. None of this has anything to do with open or closed source.
I guess I have to disagree here. None of those improvements happen in a vacuum. Microsoft decides whether to improve performance based on market decisions. The linux community makes decisions largely based on user needs. If someone really needed super-duper Java performance, they could go out and craft something that's soley performance based.
The point here is that closed source performance improvements are granted to you by the software company (The Great And Powerfull Oz!). Open source performance improvements can come from the guy who actually wants the improvements.
Re:Fairness (Score:3, Interesting)
By your argument Linux in theory should be light-years faster then Windows Mac OS or any other OS. However there are things that are slow in Linux. Why is Open GL so slow. Couln't you make MesaGL faster and more compatible with OpenGL.
You may be at the mercy of Microsoft yes Microsoft may not care about Java vs. its own .NET platform. However if Microsoft could whip Linux in Java Performance they would love it. Fine Vista loss these benchmark but the excusing the one area it did win was in very poor taste.
Re:I was surprised (Score:5, Interesting)
You shouldn't be. .net.
Most java development these days takes place on the server side. Linux is has a large precentage of the server market. Then you must know that Sun is a Unix company. They push Solaris and java on Solaris. Solaris is a lot more like Linux than Windows. The the final piece is that in the Windows server market Java shares space with
So as far as the amount of attention I would say that Solaris/Linux/Unix gets just as much attention as Windows does.
Re:always trust phronix to mess a benchmark up (Score:2, Interesting)
they used java 1.6.0_10 on linux and 1.6.0_07 on windows.
Yah, and they also tested with the new openJDK 1.6.0_0, which had nearly identical results as Suns JVM. The differences between Windows and Linux are NOT subtle, and you normally don't get 3x performance increases with mature code. So I have a hard time believing that these major performance differences are really from going from 07 to 10, especially when you factor in the results from openJDK.
I still think it'd be interesting to repeat the tests with the same JVM version on Vista and Ubuntu, but I'd hardly call the results "meaningless".
Re:Ray tracing in Java (Score:4, Interesting)
Compared to plain C/C++ code (no non-standard compiler intrinsics etc), Java has been fast enough for a long time now. Think about it: it's all just math, and JIT (which may itself be slow - it doesn't matter!) generates pretty much the same native code as a C compiler would. g++ can still do some trickier optimizations, which may account for the odd 5-10% of difference; but hardly more than that. .NET can actually fare even better, because it supports raw unsafe code and data pointers with arithmetic, dynamic allocation of stack memory (alloca), and unions - this essentially covers all optimization tricks available in ANSI C.