This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: PATCH: Parallel compilation of class files
- From: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, java at gcc dot gnu dot org
- Date: Fri, 10 May 2002 14:09:55 +1200
- Subject: Re: PATCH: Parallel compilation of class files
- References: <102040000.1020885871@gandalf.codesourcery.com>
Mark Mitchell wrote:
> Here's the much-discussed patch to allow parallel make in libjava (and in
> user programs as well).
>
> Tested on i686-pc-linux-gnu, applied on the mainline.
Unfortunately this patch has caused a pretty bad build-time regression
for libjava. Previously the class files were built in a special order,
with the most commonly used things like java.lang.Object and
java.lang.Throwable being built first. This meant that gcj can use the
.class files for these classes on subsequent invocations and avoid
repeatedly parsing the same files over and over. Now, they seem to get
compiled in some different order which makes each invocation of gcj take
much longer.
Secondly the gcjh header generation no longer waits until libgcj.jar is
complete, which makes this step much slower also because gcjh must also
resolve parse source files rather than much faster class files.
I'm not sure how to fix this without reverting the patch. Any ideas?
Ideally we will just run gcj once to build all the class files (and have
it figure out the dependencies), but gcj can't do that yet.
regards
Bryce.