Re: benchmarks? java vs .net (binarytrees)

Discussion in 'Java' started by Jon Skeet [C# MVP], Jun 9, 2008.

  1. Razii <> wrote:
    > On Mon, 9 Jun 2008 09:09:12 -0700 (PDT), "Jon Skeet [C# MVP]"
    > <> wrote:
    >
    > >Now, on how *applicable* these benchmarks are to real world
    > >performance

    >
    > The benchmark shows that Java's GC is easier to tune for given
    > situation. Many options are available to tune GC
    >
    > http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp


    .... and it's rarely the case that it's worth tuning them, in my
    experience. There are exceptions, of course, but my initial instinctive
    reaction is to leave the defaults as they are.

    --
    Jon Skeet - <>
    Web site: http://www.pobox.com/~skeet
    Blog: http://www.msmvps.com/jon.skeet
    C# in Depth: http://csharpindepth.com
     
    Jon Skeet [C# MVP], Jun 9, 2008
    #1
    1. Advertising

  2. Jon Skeet [C# MVP] wrote:
    > Razii <> wrote:
    >> On Mon, 9 Jun 2008 09:09:12 -0700 (PDT), "Jon Skeet [C# MVP]"
    >> <> wrote:
    >>
    >>> Now, on how *applicable* these benchmarks are to real world
    >>> performance

    >> The benchmark shows that Java's GC is easier to tune for given
    >> situation. Many options are available to tune GC
    >>
    >> http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

    >
    > ... and it's rarely the case that it's worth tuning them, in my
    > experience. There are exceptions, of course, but my initial instinctive
    > reaction is to leave the defaults as they are.
    >


    It is worthwhile selecting one of the low pause collectors if that is
    what you need. If you know you will need a 500MB heap then you can save
    a bit of time by setting the minimum size to 500MB (this doesn't save as
    much time as it used to).

    Mark Thornton
     
    Mark Thornton, Jun 9, 2008
    #2
    1. Advertising

  3. Lew <> wrote:
    > Mark Thornton wrote:
    > > It is worthwhile selecting one of the low pause collectors if that is
    > > what you need. If you know you will need a 500MB heap then you can save
    > > a bit of time by setting the minimum size to 500MB (this doesn't save as
    > > much time as it used to).

    >
    > Likewise it is worthwhile switching to a parallel collector in a
    > multiprocessor environment.
    >
    > Jon's experience must be limited. Where I work they tune the GC quite
    > carefully for their various application suites. They definitely find it
    > worthwhile, given the high volumes they process.


    Oh we most definitely tune the VM where I work too. (Heck, we tune just
    about everything.) It can certainly be useful. I just think they're
    more the exception than the rule. I suspect that tweaking the GC
    *isn't* the exception, but getting a significant and predictable
    benefit from it is. (I suspect that most companies don't do enough
    measurement with accurate loads to properly judge what's an improvement
    in the first place.)

    Maybe my recollection of the Java defaults is inaccurate, however - I
    thought they were pretty good. (In particular, much better than they
    used to be in terms of the max heap size, which used to *always* have
    to be turned up for any significant server app.)


    On a different note, having just opened up my newsreader and found
    dozens of new posts on this thread, I've discovered in myself a
    complete lack of interest in pursuing all of this any further. Thanks
    for the interesting bits (which were almost entirely aside from the
    main argument). No doubt I'll be posting in cljp again before long.

    --
    Jon Skeet - <>
    Web site: http://www.pobox.com/~skeet
    Blog: http://www.msmvps.com/jon.skeet
    C# in Depth: http://csharpindepth.com
     
    Jon Skeet [C# MVP], Jun 10, 2008
    #3
  4. Lew wrote:
    > Razii <> wrote:
    >>>> situation. Many options are available to tune GC
    >>>>
    >>>> http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

    >
    > Jon Skeet [C# MVP] wrote:
    >>> ... and it's rarely the case that it's worth tuning them, in my
    >>> experience. There are exceptions, of course, but my initial
    >>> instinctive reaction is to leave the defaults as they are.

    >
    > Mark Thornton wrote:
    >> It is worthwhile selecting one of the low pause collectors if that is
    >> what you need. If you know you will need a 500MB heap then you can
    >> save a bit of time by setting the minimum size to 500MB (this doesn't
    >> save as much time as it used to).

    >
    > Likewise it is worthwhile switching to a parallel collector in a
    > multiprocessor environment.
    >
    > Jon's experience must be limited. Where I work they tune the GC quite
    > carefully for their various application suites. They definitely find it
    > worthwhile, given the high volumes they process.


    It should be common knowledge that Jon has quite some Java experience.

    But far from all Java developers work with memory tuning.

    For Java SE apps it is rarely necessary.

    For Java EE apps memory tuning is often done by the server
    experts and not by the developers.

    Arne
     
    Arne Vajhøj, Jun 17, 2008
    #4
  5. Arne Vajh?j <> wrote:
    > > Jon's experience must be limited. Where I work they tune the GC quite
    > > carefully for their various application suites. They definitely find it
    > > worthwhile, given the high volumes they process.

    >
    > It should be common knowledge that Jon has quite some Java experience.
    >
    > But far from all Java developers work with memory tuning.
    >
    > For Java SE apps it is rarely necessary.
    >
    > For Java EE apps memory tuning is often done by the server
    > experts and not by the developers.


    One thing which *does* affect the discussion is which version of Java
    you're using - it's been a while since I've used anything before
    Java 5, which is when the defaults became significantly better.

    --
    Jon Skeet - <>
    Web site: http://www.pobox.com/~skeet
    Blog: http://www.msmvps.com/jon.skeet
    C# in Depth: http://csharpindepth.com
     
    Jon Skeet [C# MVP], Jun 17, 2008
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mark Thornton

    Re: benchmarks? java vs .net

    Mark Thornton, Jun 3, 2008, in forum: Java
    Replies:
    35
    Views:
    908
    Arne Vajhøj
    Jun 9, 2008
  2. Rudy Velthuis
    Replies:
    5
    Views:
    264
    Arne Vajhøj
    Jun 17, 2008
  3. Rudy Velthuis
    Replies:
    5
    Views:
    324
    Arne Vajhøj
    Jun 17, 2008
  4. Arne Vajhøj
    Replies:
    1
    Views:
    303
    Arne Vajhøj
    Jun 8, 2008
  5. kwikius
    Replies:
    2
    Views:
    264
    kwikius
    Jun 10, 2008
Loading...

Share This Page