Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Mar 2002 17:07:52 -0700
From:      Nate Williams <nate@yogotech.com>
To:        Bill Huey <billh@gnuppy.monkey.org>
Cc:        Nate Williams <nate@yogotech.com>, Greg Lewis <glewis@eyesbeyond.com>, java@FreeBSD.ORG
Subject:   Re: Mozilla core... & HotSpot update
Message-ID:  <15514.30168.252188.732486@caddis.yogotech.com>
In-Reply-To: <20020322000416.GA1670@gnuppy.monkey.org>
References:  <20020320201858.GA3125@gnuppy.monkey.org> <15512.61557.26582.852492@caddis.yogotech.com> <20020320233301.GA4011@gnuppy.monkey.org> <15513.7648.287464.414451@caddis.yogotech.com> <20020321000145.GA4319@gnuppy.monkey.org> <20020321142512.A65790@misty.eyesbeyond.com> <20020321063724.GA6657@gnuppy.monkey.org> <15514.3199.968025.626479@caddis.yogotech.com> <20020321234309.GA1607@gnuppy.monkey.org> <15514.28841.407418.877991@caddis.yogotech.com> <20020322000416.GA1670@gnuppy.monkey.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> > They allow multiple JIT compile threads?  That seems like a problem
> > waiting for a solution.  Are you *sure*?
> 
> On an enterprise machine with 10,000+ threads and 64 CPUs, it doesn't
> make sense to serialize the JIT process into one thread.

Actually, it still does.

> It almost certainly is so that the compilation process can proceed in
> parallel across multipule CPUs and in what ever executing thread at
> the time.

The overhead of compilation is why HotSpot does a better job than
Standard JITs.  It only compiles a small portion of the program at a
time, and can even decompile parts of the program if they fall out of
use.  (Resources et. al.)

> > Actually, it wouldn't, since a JIT like HotSpot JITS on-the-fly as code
> > is found to be useful in compiling.  Traditional JITs compile
> > *everything* at the beginning, so there aren't as many races and such,
> > since no-code is executed until the compilation is complete.
> 
> That's only if you have one thread doing the compilation and this isn't
> a traditional JIT in any way what so ever. You're almost certainly
> dealing with a JIT that can allow anything to compile code and shove
> into a data structure. Even a traditional JIT would benefit from
> parallel compilation since it's a more known operation and can
> concretely schedule threads to the work. 

See above.  We can agree to disagree here.  The last talk I heard on
HotSpot implied that they are using a single thread for compilation,
which is similar to the pseudo-single threaded garbage collector.  (The
GC process can involve more than one thread, but only a single thread
can be active at a time).

The complexity/overhead of multiple GC's and compilation *far*
outweighs the benefits.




Nate

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




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