From owner-freebsd-java@FreeBSD.ORG Fri Apr 20 20:32:02 2007 Return-Path: X-Original-To: freebsd-java@freebsd.org Delivered-To: freebsd-java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 53E1616A407; Fri, 20 Apr 2007 20:32:02 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 3F66713C489; Fri, 20 Apr 2007 20:32:02 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id 8B04A1A4D9D; Fri, 20 Apr 2007 13:32:20 -0700 (PDT) Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id 84B9D51387; Fri, 20 Apr 2007 16:32:00 -0400 (EDT) Date: Fri, 20 Apr 2007 16:32:00 -0400 From: Kris Kennaway To: Sean McNeil Message-ID: <20070420203200.GA39406@xor.obsecurity.org> References: <4626D4D5.7030303@thebeastie.org> <20070419031913.GA48411@xor.obsecurity.org> <462864C0.7060100@thebeastie.org> <20070420070934.GA5367@xor.obsecurity.org> <20070420185124.GA23914@misty.eyesbeyond.com> <462910CF.8050602@mcneil.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <462910CF.8050602@mcneil.com> User-Agent: Mutt/1.4.2.2i Cc: freebsd-performance@freebsd.org, freebsd-java@freebsd.org, Michael Vince , Kris Kennaway Subject: Re: Java performance on AMD64 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Apr 2007 20:32:02 -0000 On Fri, Apr 20, 2007 at 12:13:19PM -0700, Sean McNeil wrote: > Greg Lewis wrote: > >On Fri, Apr 20, 2007 at 03:09:34AM -0400, Kris Kennaway wrote: > > > >>On Fri, Apr 20, 2007 at 04:59:12PM +1000, Michael Vince wrote: > >> > >>>Kris Kennaway wrote: > >>> > >>>>On Thu, Apr 19, 2007 at 12:32:53PM +1000, Michael Vince wrote: > >>>> > >>>> > >>>>>Hey All, > >>>>>I been benchmarking Diablo Java under AMD64 on 6.2R and using the same > >>>>>methods I posted a while ago detailed somewhat here > >>>>>http://lists.freebsd.org/pipermail/freebsd-java/2006-August/005576.html > >>>>> > >>>>>The difference here is that libthr now works under Amd64. > >>>>>But it appears libthr to be about half the speed of libpthread under > >>>>>AMD64 mode which is the opposite behavior when using it under i386. > >>>>> > >>>>> > >>>>That's contrary to my benchmarks :( Dunno what might be wrong though, > >>>>assuming you have checked all the obvious. > >>>> > >>>>Kris > >>>> > >>>> > >>>OK, > >>>I did more testing and it appears the 6.1R Diablo Java binary package on > >>>Amd64 on 6.2/libthr appears to be the problem, it's as much as 60% > >>>slower then libpthread. > >>> > >>>On 6.2R Amd64 I built the ports version of jdk1.5 and libthr appeared to > >>>be around 25% faster then libpthread. > >>>But using the Diablo jdk package for 6.1R on 6.2 under libpthread is > >>>even faster by around 15% over anything I could do for any combination > >>>of Java and libthr. > >>> > >>>I would guess that a new 6.2R Amd64 Diablo package would probably turn > >>>it around again for libthr and I would guess it would again around 20% > >>>faster then anything I can get from Java under AMD64 6.2R, what's going > >>>on here exactly I don't know. > >>> > >>That's weird, I thought the diablo package was just compiled from > >>jdk1.5. It could be there was a performance regression from a change > >>made to the port after 6.1 - it would be great if you can follow it up > >>with the java@ people. > >> > > > >Diablo is compiled from the partner source. jdk15 is built on the SCSL > >release. The SCSL release was done when 1.5.0 was released. The current > >release of Diablo is based off of 1.5.0_07, so there were changes in > >between > >the two that may/will affect performance. > > > I am confused why this is thought to be a problem with Java. Is it not > true that libthr does not allow new threads to be scheduled on other > CPUs? Yes, that is not true. You are confusing it with the old libc_r. Kris