Performance of Java on FBSD vs. others...

Nikos Ntarmos ntarmos at ceid.upatras.gr
Mon Nov 13 11:28:14 UTC 2006


Γειά σου Αχιλλέα.

On Mon, Nov 13, 2006 at 09:59:48AM +0200, Achilleas Mantzios wrote:
> Did you benchmark you whole system (apart from java) using some well
> known benchmark?

I used sysbench on fbsd and linux, with fbsd being the clear winner in
the memory, threads, and mutex tests. I didn't bother to look into any
other low-level benchmarks, since I'me convinced that it's not a
system-specific problem, but a jvm-related one.

> -server 1.4.2 (even linux-jdk) on my workstation some times runs
> faster than our Linux dual xeon 3.2GHZ server.

You're not the only one to praise 1.4's peformance in this thread. I'll
surely try to convert the code to compile with 1.4, but that's somewhat
low on my task list at the moment.

> Also i dont remember answering the /etc/malloc.conf question. Linking
> this to "aj" could make a *huge* difference (if you are on current).
> Also trying removing any debugging from your kernel.

I have no malloc.conf or MALLOC_OPTIONS and libc is (now) compiled with
NO_MALLOC_EXTRAS=yes. The kernel is stripped of WITNESSES, INVARIANTS,
etc. Moreover, I've tested with AUTO_EOI_1, AUTO_EOI_2, polling,
HZ=100/1000, etc. on and off (nearly all possible combinations).

> If your system proves to be *generally* slower than the rest 2, then
> we got a FreeBSD issue here. else it is a java-related matter.

As I also mentioned in another post in this thread, java/linux-sun-jdk15
-client on freebsd does almost as well as jdk15 on linux. This, among
others, testifies to the fact that it's rather a java-on-freebsd issue.

> Anyway in the meantime i wish you to solve the problem
> and stick all the way with FreeBSD!

For the time being I do all the coding, compiling, etc using java/jdk15
and execution using java/linux-sun-jdk15. However, I'd truly like to see
this performance gap going down. There are some obvious freebsd-specific
micro-optimizations (such as the clock_gettime(CLOCK_REALTIME_FAST, ...)
vs clock_gettime(CLOCK_REALTIME, ...) I've already mentioned), that
could go into the bsd patchset. Moreover, I'm convinced that profiling
and/or auditing of the *BSD-specific HotSpot code could pinpoint some
performance bottlenecks. However, these are also somewhat low on my
tasklist for the next couple of weeks.

Cheers.

\n\n


More information about the freebsd-java mailing list