We're out of tree codes; now what?
Nicholas Nethercote
njn@csse.unimelb.edu.au
Tue Mar 20 00:08:00 GMT 2007
On Mon, 19 Mar 2007, Doug Gregor wrote:
> But what is the solution? We can complain about performance all we
> want (and we all love to do this), but without a plan to fix it we're
> just wasting effort. Shall we reject every patch that causes a slow
> down? Hold up releases if they are slower than their predecessors?
> Stop work on extensions, optimizations, and bug fixes until we get our
> compile-time performance back to some predetermined level?
>
> We have hit a hard limit in the design of GCC. We need to either use
> more memory, use more compilation time, re-architect non-trivial
> portions of GCC, remove functionality, or come up with something very,
> very clever. Pick one, but if the pick the last one, you have to
> specify what "something very, very clever" is, because we seem to be
> running short on ideas.
GCC is a very ambitious compiler:
- it supports a lot of platforms
- it supports a lot of languages
However, most users do not use most of those combinations. The problem is
that supporting all these combinations hurts the specific combinations.
For example, I almost always compile C, and usually on x86 or AMD64. So I
don't care if the C++ compiler has improved, or a new language front-end is
added, or whatever. (Other users will have different priorities.)
As for what is best to do, I don't know. But I do know that complexity is
bad, and that GCC is very complex. You are absolutely right about there
being hard limits. There are trade-offs required. Whether the current and
ongoing trade-offs are the right ones is an open question.
Nick
More information about the Gcc
mailing list