This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 3.3 compile speed regression - AN ANSWER
- From: Linus Torvalds <torvalds at transmeta dot com>
- To: tm_gccmail at mail dot kloo dot net
- Cc: Matt Austern <austern at apple dot com>, <jsm28 at cam dot ac dot uk>, <gcc at gcc dot gnu dot org>
- Date: Wed, 12 Feb 2003 08:35:56 -0800 (PST)
- Subject: Re: GCC 3.3 compile speed regression - AN ANSWER
On Wed, 12 Feb 2003 tm_gccmail@mail.kloo.net wrote:
>
> By programming in C, you are requiring a compilation pass. Pedantically,
> if you really want to minimize the number of transformations performed on
> your code, you could program in assembly language.
Guys, realize that my personal main beef isn't compile speed per se. And
as I've mentioned before, even the linux-kernel mailing list discussion
didn't start off about compile speed.
It started off by comparing the result of the compile, and finding that
newer compilers pretty _consistently_ generate bigger and slower code.
That, together with the fact that newer compilers _also_ end up being
pretty much unusable on older machines just adds insult to injury.
A lot of people want to still use 2.95.x simply because it is faster and
generates better code. And the main problems with that are:
- it's no longer supported by the gcc team, so bug-reports are pretty
much ignored and tagged as "fixed in 3.2.x" or something.
This largely was why we eventually had to abandon 2.7.x as a kernel
compiler, because there were just too many bugs that nobody would
backport. Again, 2.7.x was generally faster than 2.95, and generated
largely comparable code.
- the mixing of C/C++/ObjC/Ada/Fortran in one project means that since
C++ has improved so much, all vendors basically _have_ to ship never
versions of gcc, even if the C part of gcc has apparently _deproved_.
See?
> So, why don't you program in assembly? It's because C is a more convenient
> representation for expressing program functionality.
Your argument makes no sense. It's been pointed out several times that gcc
is on the order of 4-6 times slower than comparable other C compilers. Not
assembly language. C.
And I've pointed out several times that the generated code quality doesn't
seem to be improving, and I've not gotten any pushback on that either. I
bet most gcc people know this in their hearts.
So why do you bother to argue against the fact that gcc is slow, and tell
me that I should use assembly language? Your argument is totally
irrelevant and pointless.
Linus