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: gcc compile-time performance


Robert Dewar wrote:
> It is certainly apparent that a lot of the problems with speed come from
> people using old slow machines. After all for $1000 you can get a machine
> that will be 4 times faster than this 400Mhz PII, and no amount
> of technical work will speed up GCC by this factor.

As a developer, I might have the latest-and-greatest CPU on my desk -- but
my target may be something very different. Cross-compiling isn't the only
answer, either; what is the point of giving away "free" software if people
can't effectively compile the code?

Here's an example: We go into schools with "free" software, promoting it's
low cost and open source code as an alternative to Microsoft's expensive,
closed-source solutions. Schools (even many universities) do not have
Pentium IVs and dual Athlon systems -- they run whatever was bought during
the last budget cycle.

I can give away all the free books I want to in Esperanto, but their
WORTHLESS if only a few people can read them. The open source code is
useless if it cannot be understood or compiled. If the value in free
software is tied to the ability to modify and update the source code, then
the "free software community" must be concerned about whether the tools
(i.e., gcc) are usable on "old" hardware.

> But I quite understand that for many volunteer developers who are not paid
> for their time, the normal equation that immediately says that such an
> expenditure is worth while may not apply (certainly no serious commercial
> users are going to mess with such machines).

As I pointed out in a previous message, there are *MANY* environments using
hardware that wouldn't pass your sniff test.

Here's an example: I am working to create a computer science curriculum for
K-12 education, with a particular focus on low-income schools in inner
cities and Native American Reservations. These are places where free
software is essential -- and if they can't afford software, they sure as
hell can't afford Pentium IV systems, no matter how cheap. If gcc's minimum
requirements (which are?) exceed those capability of the available hardware,
I may have a problem. And I often need to build packages on-site, because of
the heterogeneous computing environments I find.

> Certainly it seems a good idea to me that any significant change
> to GCC should involve doing comparative timings of compilation
> on some standard g++ test suite, to be
> aware if a given patch really slows things down. Much easier
> to catch such incremental pessimizations when they occur, than
> after the fact.

I, for one, am willing to help in developing such a test suite. The existing
test suite looks at correctness; another test suite needs to determine code
quality (both compile time and run time speed and size).

.. Scott

Scott Robert Ladd
Coyote Gulch Productions,  http://www.coyotegulch.com
No ads -- just very free (and somewhat unusual) code.


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