Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Nov 2006 14:33:33 -0800 (PST)
From:      Nick Johnson <freebsd@spatula.net>
To:        Nikos Ntarmos <ntarmos@ceid.upatras.gr>
Cc:        freebsd-java@freebsd.org
Subject:   Re: Performance of Java on FBSD vs. others...
Message-ID:  <20061110142436.G88944@turing>
In-Reply-To: <20061110213313.GA72658@ace.b020.ceid.upatras.gr>
References:  <20061110203714.GA89006@ace.b020.ceid.upatras.gr> <20061110124459.M88944@turing> <20061110213313.GA72658@ace.b020.ceid.upatras.gr>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 10 Nov 2006, Nikos Ntarmos wrote:

>> What about default GC tuning options? These can be platform-dependent.
>> You may want to explicitly set these to compare apples to apples.
>
> My main consideration is not the fairness of the comparison but the
> difference in speed. I've tried all possible -X combinations but
> (guessed it?) without any noticeable difference; FreeBSD remains the
> lagger...

How can you compare differences in speed without comparing in the same set 
of circumstances?  Otherwise, you're comparing apples to oranges and the 
comparison is not valid.

> I was thinking something along the lines of "there are bits and pieces
> of jre/jdk implemented in native code and fbsd doesn't have'em yet", or
> (hopefully) "you have to sysctl-turn a.b.c on"...

I can't imagine there is anything like that, since what gets compiled with 
the port (and what's included in the package) is a stock Sun JVM with 
patches applied to get it to compile and run correctly on FreeBSD.

Did you compile the port or did you use the precompiled binary?  It's also 
conceivable that the other platform JVMs are compiled with a more 
aggressive set of compiler optimizations, etc.  You may notice a 
difference if the port is compiled with "CPUTYPE?=i686" in /etc/make.conf, 
for example.  I can't really say for sure.

Have you tried attaching to the JVM with VisualGC to watch what's going on 
in memory?  Perhaps things are allocated differently by default on the 
different platforms.

How was your kernel compiled?  There are certainly tweaks to kernels that 
can make a major difference in performance.  The default Generic kernel is 
pretty conservative.  Options for AUTO_EOI_1, AUTO_EOI_2, HZ, maxusers and 
so-on can all make a significant difference.  Other platforms may ship 
with a much more aggressive set of defaults.  You have to control for 
these things or you're not doing a legitimate comparison.

It's really difficult to guess without a great deal more contextual 
informaiton.

    Nick

-- 
When you're a kid, they tell you it's all grow up, get a job, get married,
get a house, have a kid, and that's it.  No, the truth is the world is so
much stranger than that.  It's so much darker, and so much madder.
And so much better.
   -- Elton, Doctor Who, "Love and Monsters"
This message has been brought to you by Nick Johnson 2.1 and the number 6.
http://healerNick.com/       http://morons.org/        http://spatula.net/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061110142436.G88944>