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]
Other format: [Raw text]

Re: Of Bounties and Mercenaries


On Apr  3, 2004, Scott Robert Ladd <coyote@coyotegulch.com> wrote:

> Stelios Xanthakis wrote:
>> Compiler speed *should not* be an issue. If gcc 3.5 is ten times
>> slower compiling programs at -O2, that's a good thing: it means
>> that it does more to procude better code. A program is compiled
>> once but executed 100000 times. So compile-time is *not* an issue
>> and it would be wrong if gcc developers dropped features because
>> they slow compile speed.

> You must be awefully good if you only compile your programs once!

I think the fallacy in the argument is a bit different.  The idea is
that, if I were to build a program that I knew thousands of users
would run thousands of times, and having it run a bit faster would
make a significant difference in how happy my users would be such that
they'd be willing to pay more for the package, for support, whatever,
it would make sense to squeeze as much performance as possible out of
the compiler into the application.  From the POV of the users of my
application, it doesn't matter if I spend hours or days building the
application, or even tuning the compiler to find the optimal flags to
build it: they'll be happier the faster the thing runs.

It's to me, the person who gets to build the application, that the
speed of the compiler matters.  The faster it is, the more
combinations of flags I can try with a reasonable amount of CPU time
requirements.

But then, even for the application builder, compiler speed isn't as
important as for developers.  The developer is the person that gets to
build the application a nearly-infinite number of times during the
development cycle, having to rebuild it and retest it for every
change.

But then, a compiler is a tool that is used by developers and
application builders; users are second-order customers.  Sure enough,
we want to generate code that runs as fast as possible, for the
benefit of the users, as long as this doesn't make the compiler too
slow for developers and builders to want to use it, otherwise all the
effort put into generating fast code will be wasted since the compiler
won't have any direct users.

-- 
Alexandre Oliva             http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}


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