This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Slow build


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]