From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Buck To: pfeifer@dbai.tuwien.ac dot@(Gerald Pfeifer) Cc: mark@codesourcery.com (Mark Mitchell), jbuck@synopsys.com (Joe Buck), gcc@gcc.gnu.org (gcc@gcc.gnu.org) Subject: Re: C++ compile-time regressions (was: GCC 3.0.1 Status Report) Date: Mon, 23 Jul 2001 11:12:00 -0000 Message-id: <200107231810.LAA03263@atrus.synopsys.com> References: X-SW-Source: 2001-07/msg01527.html I wrote: > > Gerald, could you test Daniel's change and see if it helps on your code? > > Of course! Here we go: > > GCC 2.95.3 GCC 3.0 GCC 3.0.1-pre > Time Size Time Size Time Size > -O0 6:19 3915128 8:20 4159780 8:00 4159588 > -O1 4:20 4203480 11:40 4829732 7:09 3997668 > -O2 5:56 4209368 14:09 4862532 7:53 3987556 > -O3 5:47 4221464 32:04 6166052 7:54 3987140 > > The huge compile-time regression is gone, though we are still noticably > slower than GCC 2.95; and binary size is even better than it used to be. Elsewhere Gerald posted the size of the preprocessed code: > % wc -l 2.95/* | grep total > 472019 total > % wc -l 3.0/* | grep total > 575530 total So the preprocessed code is 21% larger, and for -O0 it compiles 26% slower. After normalization for lines of preprocessed code, 3.0.1-pre is only 3.8% slower on a per-line basis than 2.95.3 with optimization off (normal mode for the typical compile/debug/fix cycle). Smaller binaries too ... maybe the compiler's going to be OK after all. :-)