×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Java Performance On Ubuntu Vs. Windows Vista

kdawson posted more than 5 years ago | from the steaming-cuppa dept.

Java 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."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

258 comments

I must say... (4, Funny)

Thelasko (1196535) | more than 5 years ago | (#26173267)

that new 64-bit Java plugin for Linux is smokin! No waiting for applets to load or anything.

Interesting, but lacking some crucial details... (4, Insightful)

Smidge207 (1278042) | more than 5 years ago | (#26173279)

Just out of professional curiosity: what was the partition layout on the laptop? As benchmarks in some articles have shown, the early part of a drive is faster than later part (sequential transfer rate). With a constant areal density, data flies under the read/write heads faster on the outer larger-radius tracks.

This is a something that's hard to get right when benching win vs. lin on the same HW, since usually you have a fairly normal dual-boot install, and one has the advantage of the outer tracks.

It's probably not a big deal if you have two adjacent 10 or 15GB partitions, with a big data partition somewhere else.

Ideally you'd re-partition and run benchmarks with each system installed to the first few GB. To get reasonable numbers for I/O dependent tests, you could make a scratch partition that you reformat to ext3 or ntfs before running the tests. Then have I/O benchmarks do their work in that scratch partition). (or XFS, see my previous posts for XFS tuning . XFS's delayed allocation means it doesn't start writing until you runs low on RAM, or it otherwise decides it's time to start. This means uninterrupted reading for longer = less seeks = faster.) This tests fresh filesystems, not somewhat worn filesystems that everyone will actually have after even a day of use, but usually it's not a big difference because most filesystems don't suck that badly when they're not close to full.

I thought Vista SP1 was supposed to fix slow file I/O. Oh, IIRC, that was just slow file copying when you do it via the GUI shell. So never mind, I guess either your partitioning really skewed things in favour of GNU/Linux, Vista sucks at the file-encryption workload, or it was CPU-limited and the older JVM on Vista loses on that code.

Oh, well, sorry for the rambling, just my $1.00-.98....

=Smidge=

Re:Interesting, but lacking some crucial details.. (-1)

Anonymous Coward | more than 5 years ago | (#26173675)

A waste of letters...

Java is not disk IO bound.

Re:Interesting, but lacking some crucial details.. (4, Insightful)

xouumalperxe (815707) | more than 5 years ago | (#26173763)

Indeed, you're rambling. Partitioning schemes are not very relevant for this test suite. The only test that could realistically be considered HDD-bound is the file encryption one, and even then the performance difference is too large to be attributed to which bit of the disk you're reading. I'd guess that on-the-fly encryption is must more CPU-bound than it is HDD-bound, and under that light that test proves consistent with all the other raw maths performance tests.

If anything, what I'd like to see is the 3D rendering bit redone with an nVidea card (that actually has decent drivers), to actually test their assertion that the performance loss on the linux side is really due to the graphics drivers.

Re:Interesting, but lacking some crucial details.. (4, Informative)

chrb (1083577) | more than 5 years ago | (#26173913)

even then the performance difference is too large to be attributed to which bit of the disk you're reading

No it isn't. How do you know that a particular sector of the hard disk isn't failing, causing access to that one sector to be a thousand times slower than other sectors? This is why experiments are supposed to be run many times, across different platforms, and the aggregate results taken. Without multiple experimental replicates you have no way of showing that the results you observe generalise at all; the observed problem could just be one bad run.

Re:Interesting, but lacking some crucial details.. (1)

plague3106 (71849) | more than 5 years ago | (#26173915)

Maybe I'm missing something, but is the code for the JVM itself 100% identical on both platforms?

Also, what about running services? Linux and Windows both have a different set of multiple running services. Yes, if Windows is "doing more" by default than Linux that will slow the application, and you can argue about whehter or not Windows should be doing more, but its not as if the sole purpose of either OS is to run Java applications as quickly as possible.

So... all this tells us is that in their configurations, Linux runs their Java programs faster.. which if thats ALL you care about is fine... but most users also care about other services either OS provides.

Re:Interesting, but lacking some crucial details.. (0)

Anonymous Coward | more than 5 years ago | (#26174231)

Also most drives these days have same transfer speed on the inner tracks as the outer, they use the extra space for hiding bad sectors etc.

Re:Interesting, but lacking some crucial details.. (5, Insightful)

chrb (1083577) | more than 5 years ago | (#26173779)

Various problems with the Phoronix test methodology have been noted before [slashdot.org] and before that [slashdot.org]. Without going over the same stuff, here are some potential questions about this benchmarking:

  • Where is the statistical analysis of these results - ok, you ran a test once and it was 30% slower. Is this reproducible? What is the variance? Is there any statistical difference between openjdk/sun java?
  • Why is the Java minor version different? Do you see the same results if the same minor version is used?
  • As mentioned in the previous discussions, exactly why is Windows slower on the file encryption task - it should be either limited by disk throughput, or by CPU throughput, so observing a 40% drop in performance attributed to the underlying I/O handling of the operating system is somewhat surprising; are you sure the test methodology is sound here, and if so, how do you explain the results?
  • Are these results applicable to both 32 and 64 bit distributions and JDKs?
  • How do you know that the 2D benchmark performance on Linux is attributable to poor graphics drivers? Why not run the test on another PC and then swap out graphics cards (hence eliminating all other factors) and report on the results?

There are a lot of questions that this benchmarking should have answered, and a lot of assumptions made that could potentially be invalid.

Re:Interesting, but lacking some crucial details.. (1)

LWATCDR (28044) | more than 5 years ago | (#26174121)

One also has to wonder how well they "tuned" the Vista install.
Was it running antivirus or indexing in the background?
Vista tends to have a lot of "stuff" running in the background. A lot of of which you can turn off.
They also really should have used the .10 release. It was a huge point release.

that's odd (4, Insightful)

z-j-y (1056250) | more than 5 years ago | (#26173301)

those tests (CPU burners) should perform the same on Linux or Windows, I don't see why JVM would behave differently.

Re:that's odd (4, Informative)

Shados (741919) | more than 5 years ago | (#26173321)

They -are- different JVM builds, so its possible (as is common in the JVM's history) that some bug fixes improve performance wildly... Not across the board though, so something's wrong, either with the JVM, or with Windows itself... but something is seriously messed up.

Re:that's odd (-1, Flamebait)

enharmonix (988983) | more than 5 years ago | (#26173427)

...something's wrong, either with the JVM, or with Windows itself... but something is seriously messed up.

IIRC, Vista runs untrusted processes in their own VMs (IE7, for instance). I wonder if they did this to the JVM. Seems kinda silly to put a VM within another VM, but I wouldn't put it past MS.

Re:that's odd (1)

enharmonix (988983) | more than 5 years ago | (#26173471)

I wouldn't put it past MS

Come to think of it, I don't think I can blame this one on MS. If it's running in a VM, I think that's a setup issue...

Re:that's odd (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#26173733)

Yo dog I heard you like to protect your memory so we put a VM in your VM so you can VM while you VM.

Re:that's odd (1)

Hal_Porter (817932) | more than 5 years ago | (#26173787)

IE7 isn't 'run inside a VM' it's run in a process which is prevented from doing a lot of stuff, e.g. it is only allowed file access to the temp directory.

http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx [msdn.com]
Internet-facing applications such as browsers are inherently at a higher security risk than other applications because they can download untrustworthy content from unknown sources. IE7's Protected Mode leverage's Windows Vista's UAC, MIC and UIPI features to boost browser security. In IE7's Protected Mode-which is the default in other than the Trusted security zone-the IE process runs with Low rights, even if the logged-in user is an administrator. Since add-ins to IE such as ActiveX controls and toolbars run within the IE process, those add-ins run Low as well. The idea behind Protected Mode IE is that even if an attacker somehow defeated every defense mechanism and gained control of the IE process and got it to run some arbitrary code, that code would be severely limited in what it could do. Almost all of the file system and registry would be off-limits to it for writing, reducing the ability of an exploit to modify the system or harm user files. The code wouldn't have enough privileges to install software, put files in the user's Startup folder, hijack browser settings, or other nastiness.

It's a good idea and it doesn't affect performance.

Re:that's odd (0)

Anonymous Coward | more than 5 years ago | (#26173983)

I remember Java benchmarks where I would run the program and get speeds 1.3x slower than C and other people would run it and get 4x slower than C. Same OS, same jdk, same benchmark.

Difference? They had an Intel CPU and I had an AMD. Hotspot did not at the time have any way to word-align variables on the stack and this caused a huge hit on Intel but not AMD (due to cpu designs at the time, probably not now).

always trust phronix to mess a benchmark up (5, Insightful)

MancunianMaskMan (701642) | more than 5 years ago | (#26173367)

they used java 1.6.0_10 on linux and 1.6.0_07 on windows. Hate to give the benefit of the doubt to ballmer & co but in spite of the minor version number, a lot of work in performance has been done on Java recently. The result is pretty meaningless.

Re:always trust phronix to mess a benchmark up (0)

Anonymous Coward | more than 5 years ago | (#26173719)

Even better, take a look at the release notes for 07 vs 10... its a different version of the VM. (10 vs 11)

Re:always trust phronix to mess a benchmark up (1)

samkass (174571) | more than 5 years ago | (#26173753)

Indeed, the u10 version of JDK6 is probably the biggest "point" release Java's ever had. For some strange reason Sun has decided not to use the last decimal point of their version numbers, but really this was JDK 1.6.1.

Any comparison of pre-u10 benchmarks with u10-or-later are pretty much completely invalid. This is especially true on Windows, which now uses hardware accelerated pipelines all over the place, so will probably be even more dramatically faster than Linux on the graphics tests.

Re:always trust phronix to mess a benchmark up (2, Informative)

jfim (1167051) | more than 5 years ago | (#26173761)

they used java 1.6.0_10 on linux and 1.6.0_07 on windows. Hate to give the benefit of the doubt to ballmer & co but in spite of the minor version number, a lot of work in performance has been done on Java recently. The result is pretty meaningless.

Indeed, this is a fairly lame benchmark. Java 6 update 10 is when they switched to the "consumer JRE" (also known as update "N"), which included a lot of changes to lower the footprint of the JRE, improve startup time, etc.

Re:always trust phronix to mess a benchmark up (1)

mhall119 (1035984) | more than 5 years ago | (#26173769)

Yeah, that's a pretty bad comparison. Were the testers at Phronix completely unaware of the performance work Sun has been putting into update 10? They've only been talking about it for like a year.

Re:always trust phronix to mess a benchmark up (1, Interesting)

Vellmont (569020) | more than 5 years ago | (#26174273)


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:that's odd (1)

Actually, I do RTFA (1058596) | more than 5 years ago | (#26173455)

those tests (CPU burners) should perform the same on Linux or Windows, I don't see why JVM would behave differently.

They left on Aero, and acutally spent more money to get the version of Vista with it. The graphics chip was the weakest integrated chip that, according to the manufacturer, supported Aero. In reality, no doubt, the Intel chip pushes work onto the CPU because we know what happens when a manufacturer claims that the hardware is just able to support a feature. Hell, even their website phrases the compatibility in weasly terms.

Re:that's odd (1)

thetoadwarrior (1268702) | more than 5 years ago | (#26173789)

The JVM still has to work with the OS to make things work so things are different between the the JVMs and performance can vary depending on how the underlying OS deals with certain things.

Re:that's odd (1)

Fweeky (41046) | more than 5 years ago | (#26173841)

Java has quite a few tuning options; limits on heap and garbage pool sizes, different garbage collectors and strategies for running them, different optimization levels. Maybe it's defaulting to client mode on Windows, thus putting more effort into reducing memory use by running the gc before growing the heap (and placing stricter limits on its size and the sizes of the gc generation pools), doing less aggressive optimizations and putting them off later.

Java also has bit of a history of enjoying cheap syscalls; 1.5 ran somewhat poorly on FreeBSD because it called gettimeofday() at some significant rate of knots, and system calls on Windows are significantly more expensive than that, while Linux prides itself on them being very cheap.

Re:that's odd (1)

lacoronus (1418813) | more than 5 years ago | (#26173849)

The Java launcher has two VMs to choose between - the server and the client VM. Unless forced by command-line switches, it chooses automatically.

The client VM does a lot on an "as needed" basis - classloading, JIT compilation, etc. The server does most work upfront, before the app starts. This means client = faster startup and less resources consumed, server = faster execution and more resources consumed.

On Ubuntu Phoronix ran the OpenJDK Server VM, and got the same times as the stock VM. On Windows, they ran the stock VM and got worse performance. I know that on Windows, with a setup like the one they use, the launcher will always select the client VM.

I would be interested to know which VM (client or server) was used on the benchmarks. I strongly suspect they ended up with the server VM on Ubuntu and client on Windows.

Re:that's odd (1)

Cajun Hell (725246) | more than 5 years ago | (#26173975)

First of all, I think it's interesting that someone would bother to use Java (instead of, say, C) for ray-tracing. I guess JVMs have come a long way.

those tests (CPU burners) should perform the same on Linux or Windows, I don't see why JVM would behave differently.

Yep, although if they had used a more interesting test machine (dual Opterons instead of a single CPU), then the different kernels (not JVMs) might have made a difference, thanks to NUMA-related issues.

fast java (-1, Troll)

Anonymous Coward | more than 5 years ago | (#26173315)

beating windows at java performance is like winning the special olympics.

Re:fast java (1)

calmofthestorm (1344385) | more than 5 years ago | (#26173359)

by cheating:-)

To be fair, you can usually get a bit of extra performance out of the windows version of superpi by running it in linux under wine than in windows.

Unrelated, but amusing.

Re:fast java (-1, Troll)

Ethanol-fueled (1125189) | more than 5 years ago | (#26173411)

I'd appreciate more comparisons between Ubuntu(and other *nixes) and XP. Everybody knows that Vista sucks.

Otherwise, it's nice to know that Ubuntu kicked Vista's ass at scientific computing, though Vista did win the file encryption and(of course) the graphics tests.

Re:fast java (1, Insightful)

Anonymous Coward | more than 5 years ago | (#26173647)

Clearly, this is a troll; I cannot help but reply to it.

When was the last time you actually wrote any software in Java? Describing the Java of today based on your memories of the old Java is like comparing Linux today to Linux of the late 90's. There have been several architectural changes both behind the scenes and in front of them for both.

That's my laptop! (0, Offtopic)

enharmonix (988983) | more than 5 years ago | (#26173345)

For this round-up we had used a Dell Inspiron 1525 notebook (PM965 + ICH8M Chipset) with an Intel Core 2 Duo T5800 processor clocked at 2.0GHz, 3GB of DDR2 memory, 250GB Hitachi HTS543225L9A300 HDD, integrated Intel 965 graphics, and a screen resolution of 1280 x 800.

I'm shopping for a new laptop and I settled on the 1525 with this exact configuration. Ironically, I can't decide if I want Ubuntu or Vista Home Premium on it. I don't really use much Java so this article doesn't really help me... What a weird coincidence, though.

Re:That's my laptop! (1, Insightful)

neuromanc3r (1119631) | more than 5 years ago | (#26173369)

Ironically, I can't decide if I want Ubuntu or Vista Home Premium on it.

It's not like the two are mutually exclusive...

Re:That's my laptop! (-1, Offtopic)

enharmonix (988983) | more than 5 years ago | (#26173587)

Ironically, I can't decide if I want Ubuntu or Vista Home Premium on it.

It's not like the two are mutually exclusive...

I know. I tried the dual booting thing w/ my last laptop. I really like both OSes - the big issue is I don't like setting up a user partition as FAT32. I want to use ext3 or NTFS, and unfortunately, neither works particularly well in their non-native environments.

Re:That's my laptop! (1, Informative)

rundgren (550942) | more than 5 years ago | (#26173811)

NTFS support on Ubuntu is really pretty good. The performance is not quite as good as native, but I think saying that "neither works particularly well in their non-native environments" is going to far, as functionality and stability is very good. You can even run Ubuntu easily on NTFS with wubi. Check out this review: http://www.linux.com/feature/130713 [linux.com]

Re:That's my laptop! (3, Insightful)

Count Fenring (669457) | more than 5 years ago | (#26173813)

Not, strictly speaking, true...

The NTFS-3g driver for Fuse works very well, at this point, and there are ext2/3 drivers for Windows if you look for them (Albeit the free one that I know about doesn't handle journaling in Ext3).

Here [fs-driver.org] you go!

My personal favorite setup is having an ext3 home directory in Linux, and using the My Documents folder in NTFS as a media directory.

Slight annoyance of having two desktops, but other than that, pretty ideal.

Re:That's my laptop! (0)

Anonymous Coward | more than 5 years ago | (#26174049)

That's so crazy it just might work! Thanks. (Sorry to post anonymously but my karma is spiraling the drain right now :)

Re:That's my laptop! (0)

Dr.Merkwurdigeliebe (1055918) | more than 5 years ago | (#26173373)

I do not see coincidence, I see providence. I see purpose.

Re:That's my laptop! (0)

Anonymous Coward | more than 5 years ago | (#26173839)

I do not see coincidence, I see providence. I see purpose.

I see someone trying to sell more Dell Inspiron notebooks.

Re:That's my laptop! (1, Informative)

Darkness404 (1287218) | more than 5 years ago | (#26173423)

Depends what you want. Vista will at least be somewhat usable on that configuration so unless you either don't know how to install Ubuntu, have XP that you want to run in a VM rather than dual-booting Vista, or want to save $50 you could always go with Vista because installing Ubuntu over Vista is trivial, and the hardware is going to be rather easy to work with Linux (no nVidia drivers, etc.) and the only other thing that Dell really installs for you is libdecss and other codecs which aren't too hard to find elsewhere. However, installing Vista over Ubuntu in a dual-booting mode is going to be a total pain requiring the reinstall of GRUB and perhaps changes to the partition layout.

Re:That's my laptop! (4, Insightful)

Anonymous Coward | more than 5 years ago | (#26173433)

You're having a hard time picking between Linux or Windows? Go Linux, it's cheaper to change your mind.

Re:That's my laptop! (1)

Dishevel (1105119) | more than 5 years ago | (#26173775)

You're having a hard time picking between Linux or Windows? Go Linux, it's cheaper to change your mind.

This is actually a really good point. Mod Parent UP.

Ray tracing in Java (3, Interesting)

olddotter (638430) | more than 5 years ago | (#26173393)

Have computers or JIT compilers gotten fast enough that people actually do ray tracing in Java?

Re:Ray tracing in Java (5, Interesting)

Yetihehe (971185) | more than 5 years ago | (#26173483)

Yes. Sunflow [sourceforge.net] is one example. I did my own tests, java vs c++ (almoste the same code) and java was only about 1.3 times slower.

Re:Ray tracing in Java (3, Interesting)

shutdown -p now (807394) | more than 5 years ago | (#26174293)

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.

Fairness (4, Insightful)

abigsmurf (919188) | more than 5 years ago | (#26173399)

I love the way in every test test Vista loses it's "Ubuntu is faster" but in the test where Vista wins, they explain and excuse it going "bad opengl drivers".

Either give possible reasons for slow performance of one OS each time or don't do it at all. To excuse bad performances in a benchmark in such a selective manner reeks of bias. Who's to say the Vista performance gap wasn't caused by bad drivers? Indeed the a lot of the tests where it was slower are ones involving disk access and Vista is known for being slow at this sort of thing.

Re:Fairness (2, Insightful)

Dr.Merkwurdigeliebe (1055918) | more than 5 years ago | (#26173517)

When "Vista is known for being slow at this sort of thing", that's a cause of the OS itself, which is different than something that the OS relies on. You can't say that Vista lost at some benchmark because it's a shitty OS, therefore, it's not fair to call it a shitty OS.

Re:Fairness (1)

bigpaperbag (1105581) | more than 5 years ago | (#26173565)

I think his point was that the drivers are a known issue just like disk access is a known issue and both should be noted equally. Instead of one being noted, and the other not which implies a mysterious and general terribleness.

Re:Fairness (0, Troll)

PinkyDead (862370) | more than 5 years ago | (#26173655)

...and when Microsoft have third party support ranging from acquiescence to mindless obedience to the exclusion of all others, complaining that it's a biased disadvantage in a benchmark is a bit rich.

Re:Fairness (2, Insightful)

Chirs (87576) | more than 5 years ago | (#26173529)

Likely they mention the issue being the graphics drivers in linux because graphics drivers are a continuing sore spot.

As for disk access, in my experience the vast majority of disk access speed issues are not driver related, but are due to the I/O subsystem, elevator algorithms, and filesystem code in the OS.

Re:Fairness (1)

binarylarry (1338699) | more than 5 years ago | (#26173809)

Graphics drivers have been continually improving on Linux.

Intel, Nvidia and ATI hardware all works MUCH, MUCH better than it used to.

Not that things are perfect, but it's important to point out that things are getting better all the time.

Re:Fairness (5, Insightful)

Vellmont (569020) | more than 5 years ago | (#26173551)


I love the way in every test test Vista loses it's "Ubuntu is faster" but in the test where Vista wins, they explain and excuse it going "bad opengl drivers".

Maybe that's because Ubuntu is an open source application where we actually know why the test gave bad performance, and actually know that it's going to improve in the future?

Who's to say the Vista performance gap wasn't caused by bad drivers?

Don't dismiss the advantages of an open system where you can actually understand what's under the hood as just "test bias".

Re:Fairness (3, Insightful)

abigsmurf (919188) | more than 5 years ago | (#26173815)

Sorry, that's just a stupid argument. Because an application is closed source they're never going to boost performance? Because you can't see the source code, you don't know if it's drivers causing bad performance?

You can see through benchmarking and general usage where an application is falling down in performance terms, is doesn't matter if you've access to course code or not. You say Vista will never have it's performance boosted? Have you seen the comparisons between a clean install and the latest updated version?

One of the most obvious examples of clear bad drivers in OS' are graphics drivers, regardless of if it's Vista or Linux, closed drivers or open drivers, it's usually plainly obvious if drivers are resulting in bad performances.

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.

Re:Fairness (1, Interesting)

Vellmont (569020) | more than 5 years ago | (#26173955)


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 (2, Interesting)

jellomizer (103300) | more than 5 years ago | (#26174101)

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:Fairness (1)

Splab (574204) | more than 5 years ago | (#26174313)

I bet you are also the kind of Linux fanatic who keeps telling people, "the source is right there, fix it yourself".

Even though source code is available it can be quite a daunting task to figure out why something is running slow, end even then you are still faced with the task of making it go faster. Poking around some CMS or other (usually) small scale system with a few thousands lines of codes is not a biggie, but trying to fix something with 100.000+ lines of code is pretty much impossible unless you have extensive knowledge of the project.

Also please tone down the Linux zealotry, you are more than likely hurting Linux image rather than achieving what you want.

Re:Fairness (1)

Ed Avis (5917) | more than 5 years ago | (#26173931)

Maybe that's because Ubuntu is an open source application where we actually know why the test gave bad performance, and actually know that it's going to improve in the future?

I don't think you can assume that. Remember the recent benchmarks showing that Ubuntu had become slower in recent releases? Even if those were flawed, you still can't assume that future releases will be faster, any more than you could assume that future Windows releases will be an improvement. It's quite possible for software to get slower not faster.

Re:Fairness (1)

Vellmont (569020) | more than 5 years ago | (#26174093)


It's quite possible for software to get slower not faster.

Very true. I guess I was referring to this specific instance, where the article mentions the openGL layer of Mesa wasn't geared towards performance yet, but eventually will be.

Re:Fairness (1)

lofoforabr (751004) | more than 5 years ago | (#26174133)

It's quite possible for software to get slower not faster.

Indeed, that's what history has shown us. Software usually gets fatter and slower. All the achievements done by the hardware folks is normally negated by the software.

Re:Fairness (1)

chrb (1083577) | more than 5 years ago | (#26174031)

we actually know why the test gave bad performance

No we don't. If they had compared many different graphics cards on the same Linux system, and shown that there was some performance degradation on a particular card that occurred every time the test was run, then we might know why the test performed badly. At the moment the idea that it was the graphics drivers is just a hypothesis.

3D in Java? (3, Insightful)

SilentChris (452960) | more than 5 years ago | (#26173435)

The two OSs were similar in ray-tracing, and Vista was faster at Java OpenGL due to shortcomings with the Linux graphics driver.

I know this will be seen as a troll, but who the hell uses Java for ray-tracing or with OpenGL?

Re:3D in Java? (5, Informative)

Nicopa (87617) | more than 5 years ago | (#26173493)

I think you should check the Java port of Quake then: http://bytonic.de/html/jake2.html [bytonic.de]

Re:3D in Java? (1)

Blakey Rat (99501) | more than 5 years ago | (#26174325)

Grandparent asked who USED it, not "who created pointless, idiotic demos of it".

If you bought a copy of Quake, would you get the Java one? No? Then nobody uses it.

Re:3D in Java? (1)

pak9rabid (1011935) | more than 5 years ago | (#26173507)

I know this will be seen as a troll, but who the hell uses Java for ray-tracing or with OpenGL?

I'm not sure about the former, but there have been some interesting uses of the latter. Check out Jake2 [bytonic.de] sometime. It's Quake2 recoded in Java with full OpenGL support. Obviously it's not going to perform as well as it's native counterpart, but it is very playable and cross-platform.

Re:3D in Java? (0)

Anonymous Coward | more than 5 years ago | (#26173689)

My understanding is that there's a small movement towards using java in fact for 3d stuff. Using Java makes it easier to port cross-platform and all the 3d stuff occurs on the video card anyways so there's *practically* no java overhead. Of course, this is info I read out of a book a long time ago and I don't really keep up with that stuff so that 'movement' could be dead now.

Ever seen Sunflow? (1)

nobodyman (90587) | more than 5 years ago | (#26174125)

I can't gauge it's performance relative to a c-based raytracer, but you should really checkout Sunflow [sourceforge.net].

It can produce gorgeous results, and it'll use as many cpu's as you can throw at it. I'm not sure how much commercial use it enjoys, but it's well beyond the "ooh check out this glass sphere" java raytracer applets you typlically see.

Not completely fair (3, Insightful)

Yahma (1004476) | more than 5 years ago | (#26173451)

While interesting, the results pose more questions than they answer. I can see several problems with the benchmark:
  • Slightly different Java versions used in the tests.
  • The tests should have all been forced to use either Client or Server mode.

Its possible that the Windows Java defaults to client, while the Server mode was used in Linux. That could account for the major speed improvements seen in the Linux versions. I would like to see the Server mode forced on all the JVM's and the tests re-run.

Not surprising (3, Interesting)

greg_barton (5551) | more than 5 years ago | (#26173459)

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)

32 vs 64 bit (1)

tarunbk (1051880) | more than 5 years ago | (#26173525)

Any equally good benchmarks, which also include a comparison of the 64bit and 32bit java versions... now that java has a 64bit browser plugin, i don't have to worry about separate browser and stuff... just waiting for the final version of 64bit flash to come out...

Re:32 vs 64 bit (1)

tarunbk (1051880) | more than 5 years ago | (#26173579)

will there be near future when we have to worry about 64 vs 128bit ?? or will cpu instructions also go the core way, and have as many multiple of 32 as one wishes? never know the future...

I was surprised (5, Insightful)

spottedkangaroo (451692) | more than 5 years ago | (#26173537)

To no-one's surprise, Ubuntu was faster

I'm surprised.

I'd expect Java to go faster in windows. I don't think the reasons for using Linux are speed and software availability. I'd expect much more attention is paid to the windows versions.

Re:I was surprised (1)

nargoes (801231) | more than 5 years ago | (#26173627)

I wasn't surprised. We have developers using the same versions of build tools, JVMs and hardware. A build on Ubuntu takes about 4 minutes. On a (freshly imaged) windows box the same build takes at least 10 minutes. Very empirical maybe, unsurprising none the less.

Re:I was surprised (1)

windsurfer619 (958212) | more than 5 years ago | (#26173991)

Well of course you weren't surprised now because you already knew, but I bet you were surprised when you saw it for the first time.

Re:I was surprised (1)

Brad_McBad (1423863) | more than 5 years ago | (#26173725)

Really? Why don't you think speed is important to servers running linux?

Last time I checked there were plenty of linux servers running high powered linux apps.

Re:I was surprised (4, Interesting)

LWATCDR (28044) | more than 5 years ago | (#26174191)

You shouldn't be.
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 .net.
So as far as the amount of attention I would say that Solaris/Linux/Unix gets just as much attention as Windows does.

Re:I was surprised (1)

ZerdZerd (1250080) | more than 5 years ago | (#26174267)

I'm also surprised. Every java-program I've run on both windows and Linux was slower on Linux. For instance I made a program which fetched the contents of the clipboard. On windows it took 33ms, and on Linux about 800ms.

I also discovered a lot of inconsistencies in "cross-platform" java. When I push and hold down a button in windows it's received as Down - pause - down down down... And on Linux it was for some reason Down Up Down Up...

Vista beaten by other OS "to no-one's surprise" (1)

markdowling (448297) | more than 5 years ago | (#26173585)

If it's not surprising, it shouldn't be on the front page, no? Doesn't it fail the "NEWS" for nerds test?

Vista beats anybody would be in the same league as man bites dog and very news-worthy.

I'm sure it was a fair test... (0)

Anonymous Coward | more than 5 years ago | (#26173703)

Does the Windows Java implementation use Windows native calls everywhere or was it written to Linux/Unix and using some layers to map that to Windows native?

Bah, theoretical Java performance (1, Interesting)

netsavior (627338) | more than 5 years ago | (#26173721)

So javaQuake in an applet viewer is faster, try using ANY browser available for Ubuntu and load the applet in it... now use a naked IE activeX control (or even an IE window) to host the applet.

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)

Re:Bah, theoretical Java performance (1)

H0p313ss (811249) | more than 5 years ago | (#26173771)

Pretty much the only thing "taxing" I use my laptop for is playing Runescape

Please turn in your geek card now.

Re:Bah, theoretical Java performance (1)

netsavior (627338) | more than 5 years ago | (#26173891)

A laptop dedicated to an weird MMO is not geeky?

I didn't say it was the most taxing thing I do on computers, just on that particular laptop...

Re:Bah, theoretical Java performance (1)

NullProg (70833) | more than 5 years ago | (#26174081)

it is 100% flawless under windows in IE and almost unplayable in Ubuntu for any combination of browser and JDK that I have tried

Your doing something wrong. What I dont know (Make sure your using the SUN JVM instead of the default OpenJDK). My twelve year old plays the premium Runescape every day under Ubuntu+Firefox, no problems and its much faster than the windows machine.

Enjoy,

Re:Bah, theoretical Java performance (1)

Just Some Guy (3352) | more than 5 years ago | (#26174245)

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.

Yes, because IE is compiled with -fomit-instructions and runs infinitely fast.

Resources available to JVM (1)

tukang (1209392) | more than 5 years ago | (#26173723)

It's possible that Java is actually better implemented for Vista but because Vista uses more resources it ends up running slower. It would be interesting to see a comparison where the amount of available resources is equal.

But do all applets work? (1)

armer (533337) | more than 5 years ago | (#26173727)

Sure it may be faster, but do all applets work properly? For the life of me, I cannot get the applets from Pogo.com to work under ubuntu (fresh install of 8.10 with restricted extras). Xp and Vista work great. Its good to be fast, but it needs to work too...

Java on desktop has been irrelevant for a while (2, Interesting)

BigGerman (541312) | more than 5 years ago | (#26173731)

Now, if they tested webapps performance, say on Tomcat on both OSes, the results would be quite different. I would guess Vista would be faster for a single thread test but would not scale at all.

Re:Java on desktop has been irrelevant for a while (1)

Shados (741919) | more than 5 years ago | (#26174005)

If you wanted to do that, then you'd want to test on WinServer 2008, not Vista, in which case it definately WOULD scale.

Re:Java on desktop has been irrelevant for a while (1)

plague3106 (71849) | more than 5 years ago | (#26174055)

Well, if that's the test you're after, why wouldn't you test a server version of Linux against Windows 2008?

Breaking News... Java performance (-1, Troll)

croftj (2359) | more than 5 years ago | (#26174217)

sucks less on Ubuntu than on Windows!

In other headlines, researhers have learned more cumbersome coding techniques taking the CS community one step closer to having chimpanzees writing code which will work good enuf at a low cost of just 1 banana per 1000 lines of code.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...