C++ compile time (again)

Karel Gardas kgardas@objectsecurity.com
Fri Jun 13 15:42:00 GMT 2003


On Fri, 13 Jun 2003, Wolfgang Bangerth wrote:

> It's C++-compile-time-regression-rant time again. Compile times for a
> complete build of the deal.II library on a PIII 800 MHz:
>
>   gcc2.95 :  46 min
>   mainline:  89 min
>   tree-ssa: 118 min

Looks very similar for MICO too, although I haven't tested tree-ssa yet,
should I?

(note: in whole email I will talk about compiler performance with using
-O0 only)

> The last two numbers are generated with --enable-checking, but apart

For MICO compile time testing, I always use --disable-checking...

> from that I don't think further comments are necessary. Switching to a
> new compiler can be frustrating if you have to wait 2 hours when you
> know it could be less than one...

It was so frustrating here, that I rather bought comeau together with
dinkumware. Anyway, it seems that PCH in gcc3.4 are really helpfull, but
w/o PCH, the compiler is _slow_.

> Now, what troubles me (and Gerald, who has been pointing this out for
> ages now) is that it seems as if these numbers don't change
> anything. Everytime Gerald brings this up, answers are "Oh, yes, good
> you remind us that there is C++ out there, we seem to have forgotten".
>

Maybe C++ is just not so popular between free software develpers...

> Why is it that everyone is always looking at C code for compile time?

Anyway, even in case of C, the compiler is very slow in comparison with
gcc2.95.4. - tested on very big C files emited by comeau compiler...

> I don't know about Gerald's library, but to get a good piece of C++,
> it's as easy as
>   - going to  http://www.dealii.org/
>   - go to "download"
>   - download version 4.0.0
>   - tar xvzf
>   - ./configure
>   - time make all

or just

go to: http://www.mico.org
download latest version
tar -xzvf <file>
cd mico
./configure --disable-static (it's useless to suffer with static lib
building...)
time make      (or time make world - if you would like to build even demos and tests

> If there are questions, I would be more than willing to answer any and
> all of them if that helps. If I shall write up some instructions, tell
> me where, I'll do so immediately.

Seconded!

> It just doesn't make sense if we constantly surprise ourselves by
> pointing out the existence of real-life C++ codes. Testing compile
> time speed for C++ needs to be done as a normal part of gcc
> development.

Agree! I can offer some spare cpu cycles on FreeBSD/SMP box and MICO
source tree for testing here. What I would like to have are some nice
scripts which will more automate the whole process:

1) get the latest gcc
2) bootstrap + install
3) compile MICO
4) write time result into some table

Does anybody here have anything like that? (just to not reinvent a wheel)

Thanks,

Karel
--
Karel Gardas                  kgardas@objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com



More information about the Gcc mailing list