This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Compilation getting slower
- To: rms@gnu.org
- Subject: Re: Compilation getting slower
- From: Andreas Jaeger <aj@arthur.rhein-neckar.de>
- Date: 02 Sep 1999 09:46:07 +0200
- Cc: gcc@gcc.gnu.org, Dan Pascu <dan@dawn.iiruc.ro>
- References: <199909020601.CAA07337@psilocin.gnu.org>
>>>>> Richard Stallman writes:
> This data, from Dan Pascu, suggests that GCC is steadily getting
> gradually slower as regards compile time. A 10% slowdown since a few
> versions ago is not a disaster, but it is significant.
> So I think people should know about this, and perhaps investigate
> what causes the slowdown. Maybe it is avoidable.
[...]
> The tests were done like that. Except the one (only) that was with
> libc5, all were done with glibc2.1 and various gcc versions on the same
> Debian 2.2 system (i.e. only the compiler was changed).
> The didtribution I noted in the table for each case was from where the
> compiler (binary) was took. But all of the compilers were installed on
> the same Debian 2.2 system.
> I don't think that the fact I took a binary from RedHat and installed
> it on Debian makes much difference. I also compiled a egcs1.1.2 and get
> the same results as the egcs1.1.2 I used from various distributions.
> There were only very small differences between the same version of the
> compiler (took from various sources, or compiled by myself) as columns
> 2 and 3 show, but always there was a big increase in the compile time
> when the version of the compiler changed.
> In fact the conclusion I came about was not because I made the test,
> but because I saw that the compile time raised about 1.5 times after
> installing new compiler versions on the same system. That made me make
> this test, just to check what was the increase in compile time.
> Here is the table again, I hope that now is much clearer.
> compiler | egcs1.1.2 | egcs1.1.2 | egcs1.1.2 | pgcc1.1.3 | gcc-2.95
> flags | & libc5 | & glibc2.1 | & glibc2.1 | & glibc2.1 | & glibc2.1
> | Slack4.0 | Debian2.2 | RedHat6.0 | Enoch | Debian2.2
> -------------------------------------------------------------------------
> none | 1m44s | 2m07s | 2m03s | 2m09s | 2m11s
> -------------------------------------------------------------------------
> -g | 2m05s | 2m28s | 2m26s | 2m33s | 2m34s
> -------------------------------------------------------------------------
> -O | 2m02s | 2m41s | 2m36s | 2m46s | 3m01s
> -------------------------------------------------------------------------
> -g -O | 2m21s | 3m01s | 2m56s | 3m06s | 3m22s
> -------------------------------------------------------------------------
> -O2 | 2m26s | 3m07s | 3m01s | 3m16s | 3m43s
> -------------------------------------------------------------------------
> -g -O2 | 2m46s | 3m28s | 3m21s | 3m36s | 4m04s
> -------------------------------------------------------------------------
> -O6 | 2m35s | 3m15s | 3m08s | 3m36s | 3m52s
> -------------------------------------------------------------------------
> -g -O6 | 2m55s | 3m35s | 3m28s | 3m56s | 4m12s
> -------------------------------------------------------------------------
One problem going from libc5 to glibc 2.1 is that glibc 2.1 comes with
a number of inline functions and macros for the string functions. Can
you try the glibc 2.1 tests again with -D__NO_STRING_INLINES?
Thanks,
Andreas
--
Andreas Jaeger aj@arthur.rhein-neckar.de jaeger@informatik.uni-kl.de
for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de