From owner-freebsd-java Thu Mar 21 16: 8: 6 2002 Delivered-To: freebsd-java@freebsd.org Received: from ns.yogotech.com (ns.yogotech.com [206.127.123.66]) by hub.freebsd.org (Postfix) with ESMTP id 6FD2337B41A for ; Thu, 21 Mar 2002 16:08:00 -0800 (PST) Received: from caddis.yogotech.com (caddis.yogotech.com [206.127.123.130]) by ns.yogotech.com (8.9.3/8.9.3) with ESMTP id RAA19002; Thu, 21 Mar 2002 17:07:52 -0700 (MST) (envelope-from nate@yogotech.com) Received: (from nate@localhost) by caddis.yogotech.com (8.11.6/8.11.6) id g2M07q810988; Thu, 21 Mar 2002 17:07:52 -0700 (MST) (envelope-from nate) From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15514.30168.252188.732486@caddis.yogotech.com> Date: Thu, 21 Mar 2002 17:07:52 -0700 To: Bill Huey Cc: Nate Williams , Greg Lewis , java@FreeBSD.ORG Subject: Re: Mozilla core... & HotSpot update 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> X-Mailer: VM 6.96 under 21.1 (patch 14) "Cuyahoga Valley" XEmacs Lucid Reply-To: nate@yogotech.com (Nate Williams) Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org > > 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