libtool linking libgcj

Bryce McKinlay bryce@mckinlay.net.nz
Mon Sep 29 22:38:00 GMT 2003


On Tuesday, Sep 30, 2003, at 04:22 Pacific/Auckland, Andrew Haley wrote:

> When linking libgcj, the libtool shell script consumes more than two
> minutes of CPU time on my box, a 1200MHz processor.  This is a lot
> more time than the link itself takes.

Yes, its getting pretty ridiculous. We need to get rid of libtool. We 
should build libgcj package-by-package, with the option of either 
building each package with a single compiler command, or multiple 
compiler invocations linked into a package .o with "ld -r". This 
strategy will make the command line length problems a non-issue, and 
incremental rebuilds should be fast.

BTW, there is an ld patch pending (awaiting assignment forms) which 
fixes some quadratic behaviour in the string merging. It reduces the 
final link of libgcj from ~1m 30s to < 10s on my machine. With some 
further tweaks to initial hashtable sizes in bfd/merge.c I was able to 
get it down to < 5s!

http://sources.redhat.com/ml/binutils/2003-09/msg00146.html

After this patch goes in, libtool is by far the biggest thing slowing 
down the build.

Regards

Bryce.




More information about the Java mailing list