Announcement

Collapse
No announcement yet.

Java Performance: Ubuntu Linux vs. Windows Vista

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • kraftman
    replied
    Originally posted by RealNC View Post
    Linux got owned where it matters the most: Graphics.
    Really? It depends for who... And there are much better Linux drivers than driver used in benchmark. And different versions of java were used, just think a little before you comment.

    @reavertm

    I completely agree with you. In my opinion such benchmarks are useless and misleading like one with Ubuntu vs Macos...
    Last edited by kraftman; 24 December 2008, 09:47 AM.

    Leave a comment:


  • eirikma
    replied
    I guess benchmark was ment to compare stock configurations on both systems - in other words - what typical user will receive..
    ...(etc etc and also several other comments by other authors)

    My point was that a more large-scale and "scientific" approach concluded that 1) the default settings actually are the "best" setttings for general performance with soft-realtime behaviour, and 2) settings and configurations of the operating system kernel (especially linux) is more important for java performance than fiddeling with java's own settings.

    I find that last point particularily interresting, as all other performance tests I've seen with java so far has neglected this issue completely.

    Leave a comment:


  • reavertm
    replied
    I guess benchmark was ment to compare stock configurations on both systems - in other words - what typical user will receive. That being said Linux user will most likely experience better overall performance while Windows user better GUI responsiveness.
    So, in general, conclusions drawn from this benchmark are perfectly valid.
    It would be more infotmative though to compare same JVM's on different platforms (OpenSolaris, Linux, Windows) with exact configurations (eliminate client/server differences), because so far this benchmark doesn't tell anything new really.
    Last edited by reavertm; 22 December 2008, 12:46 AM.

    Leave a comment:


  • xerces8
    replied
    Phoronix discovered that the server HotSpot VM is about 60% faster* than the client VM.
    Guess what, this is true on both Windows and Linux.

    The real result is not "Linux is 60% faster than Windows" but "server VM is 60% faster than client VM".

    Anyone who has doubts, can repeat the tests on their own PC.

    * - depends on actual code; for Bork File Encryptor it is about 60%

    Leave a comment:


  • rolz
    replied
    I wonder if i'm the only one who has "problems" with java on linux when using kernelpreemption = voluntary.

    Leave a comment:


  • aaime
    replied
    Java server ergonomics

    As someone already said, you are benchmarking a server VM on Linux vs a client VM on Windows.
    Java has this "server ergonomics mode" that changes the default JVM configuration when a "server" enviroment is detected. On Linux, it only takes 2 cores and 2GB of memory, so basically on any decently recent computer running Linux you're in server mode by default.
    Vista is not considered, on the other side, a server OS, so there you're running a client VM.
    The difference you're seeing matches my experience, the server VM is 40% faster on heavy computation math. About the I/O tests, not sure, never run one that was I/O bound so not sure if the two VM have significant differences.

    For more information on server ergonomics see here (a bit old, but still applies):


    If you want to see if you're in server ergonomics mode just run "java -version" from the command line. Here is what I get on XP:
    java version "1.6.0_10"
    Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
    Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

    And here is what I get on an Ubuntu 7.10 headless machine sitting below my desk:
    java version "1.6.0_03"
    Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
    Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)

    Leave a comment:


  • eirikma
    replied
    real world realtime experience

    Thanks fort the article. quite interresting, I must say.
    Seems like you are mostly testing floating-point performance and quite small benchmarks. Java is, however, not so much used for that kind of applications. Rather, it is used for server-side request- and transaction processing where global optimization and integer performance is more important.

    I was recently to a talk by a leading vendor of stock-exchange software (actually, the IT department of a stock exchange). They do massively parallel request processing with real-time requirements. Often the stock exchanges cooperate, and the deal is closed (with earnings to the stock exchange company) on the server with the fastest response.

    After a very thorough selection process, they also ended up with java on linux as the technology of choice for this task, with superior global application performance being one of the reasons for that. After a lot of experiments, they found that the best performance with acceptable realtime requirements is achieved by using plain vanilla java and leaving most settings at default. Instead, they tweak the linux setup and kernel (gentoo). The most critical systems are run on "applicance-style" servers with no support for any other hardware or software other than the trading server software. I guess that means bash, ssh and java and not even usb support. Naturally, I haven't tried it myself, but as long as you are doing performance measurements I hope you do. I'm already looking forward to the article :-)

    Leave a comment:


  • Peter_Cordes
    replied
    Originally posted by krausest View Post
    I do believe the comparison is not so much windows vs linux but client vm vs server vm. The difference for scimark on windows is a clear indication that the client hotspot compiler was used while the server vm was used under linux.

    Can you please rerun the windows scimark benchmark with the -server flag?
    Interesting point. The 64bit JVM only has a "server" vm, while the 32bit JVM defaults to using the "client" vm, which tries to load classes faster at the expense of performance. e.g. if you run azureus with a 32bit jvm, it helps performance a _lot_ to use java -server.

    I think the Vista screenshot shows that it's 32bit. But I don't see any clues either way about whether x86 or AMD64 Ubuntu was used.

    There are so many variables between the systems benchmarked that all it tells you is how well Java programs will do on a default install of Ubuntu Intrepid or Vista as the primary OS on the HD. Which is interesting for a variety of reasons. If I cared more about Java performance or Vista, I'd probably join everyone else in asking for more benchmarks to be added so we could tell what was causing what.

    Leave a comment:


  • BlueKoala
    replied
    why only ubuntu + vista?

    opensolaris is said to have the fastest java stack so far.
    Good point!
    It would be a nice comparison.
    Though I do enjoy seeing ubuntu perform better than the alternative in any case

    Leave a comment:


  • chithanh
    replied
    Thanks for this interesting article.

    Please consider including the IBM JDK on Linux into the comparison, as it also performs very well. And a comparison of 32-bit vs. 64-bit would also be great.

    Leave a comment:

Working...
X