This is the mail archive of the gcc@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]

Re: patches addressing g++ 3.0 compilation speed?


On Tue, 31 Jul 2001, Dale E Martin wrote:
> Hello.  I've got an application that is a VHDL compiler that is implemented
> in C++, and it also generates C++ as an output.  The compiler itself is
> about 200k lines of C++ (using wc to count, so obviously it's not that
> accurate.)  The thing is, I'm using both STL and iostreams heavily, and
> compilation is dramatically slower with 3.0 over 2.95.x...  It goes from
> something like 30 minutes to over two hours on my Celeron 533 machine.

Unfortunately, I have been experiencing exactly the same, and so have
several others.

> This is really a problem, as g++ 3.0 is _definitely_ superior in terms of
> adherence to the standard, but it's really too slow for me to use in
> mainline development.

Yup.

> So I'm curious if there are patches being considered for the 3.x
> branch to speed C++ compilation?  I'll happily help test them if there
> are any available.

There already has been applied one patch changing the behavior of the
inliner, which speeds up g++ so that it's only about 35% slower than GCC
2.95. Unfortunately, this patch also results in drastically worse code
generation (and keep in mind that, for C++ as you use it, GCC 3.0 is
already significantly worse than GCC 2.95).

And, frankly, there is essentially no chance that 3.0.1 will be
significantly better and AFAIK nobody is seriously working to fix
this problem in the timeline for GCC 3.0.x. :-(

It would be very interesting if you could give a current (CVS) snapshot
of the GCC 3.0 branch a try and post a compilation time and run time
performance comparison of GCC 2.95, 3.0, and that snapshot.

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/


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