Slow build

Dr. David Kirkby david.kirkby@onetel.net
Sat Jul 18 00:07:00 GMT 2009


Kai Ruottu wrote:
> Dr. David Kirkby wrote:
> 
>> Bill McEnaney wrote:
>>> My Sunblade 100 takes almost 20 hours to build gcc with the machine's
>>> 500 MHz UltrSPARC-II processor and its 64-bit bus.  So to build that
>>> software, I usually launch a batch process with the "batch" command.
>>
>> I just done it in 37 minutes on a Sun T5240, using 'make -j 100'. I 
>> could have probably pushed it a bit harder too, as the machine has 128 
>> hardware threads. This used C, C++ and Fortran.
>>
>> This was for the 'gcc-4.4.1-RC-20090715' snapshot, which I'm going to 
>> test, but I doubt gcc 4.4.0 would be too different.
> 
> Maybe someone could define what the "build gcc" means here... Even in a
> slow 550 MHz P-III PC with Fedora 8 the GCC build for C and C++ took
> only 1 h 17 minutes... Some kind of multi-stage build with several
> builds for GCC?  Not just producing a GCC with the current production
> GCC?  Like with a crosscompiler...
> 
> 

This took 37 minutes on a 16-core machine with 1167 MHz CPUs.

$ gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.1-RC-20090715/configure 
--prefix=/usr/local/gcc-4.4.1-RC-20090715-sun-linker 
--with-as=/usr/ccs/bin/as --without-gnu-as --with-ld=/usr/ccs/bin/ld 
--without-gnu-ld --enable-languages=c,c++,fortran 
--with-mpfr-include=/usr/local/include --with-mpfr-lib=/usr/local/lib 
--with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
Thread model: posix
gcc version 4.4.1 20090715 (prerelease) (GCC)


using C, C++ and Fortran.

Basically I did:

$ ../gcc-4.4.1-RC-20090715/configure 
--prefix=/usr/local/gcc-4.4.1-RC-20090715-sun-linker 
--with-as=/usr/ccs/bin/as --without-gnu-as --with-ld=/usr/ccs/bin/ld 
--without-gnu-ld --enable-languages=c,c++,fortran 
--with-mpfr-include=/usr/local/include --with-mpfr-lib=/usr/local/lib 
--with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
$ make -j 100

This particular machine is capable of very good performance, but it is 
ill-suited to serial tasks like this. Although parts of the gcc build 
can be done in parallel, a lot of it seems to be done serially.

dave



More information about the Gcc-help mailing list