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 still getting a lot slower



On Tue, 31 Dec 2002, David Edelsohn wrote:

> >>>>> Neil Booth writes:
>
> Neil> It's only going to get fixed by refusing a release until it's as fast
> Neil> as the prior one.  Otherwise it appears that people just don't care
> Neil> enough that each release is 30-50% slower than the previous one.
>
> 	I strongly believe that we need to have performance goals for GCC
> releases, not just release schedules.  Previously when people have
> complained about performance, the response has been that it is too late in
> the release schedule.  Well, we're now in Stage 1 of development for GCC
> 3.4, so it definitely cannot be too late.

I agree.
>
> 	As a start, how about some comment about Daniel Berlin's
> Generational Copying Garbage Collector?  Complaining about the problem and
> then ignoring developers who try to address the problem discourages
> further effort.  It isn't perfect, but nothing in GCC is perfect.  If it
> needs to be improved, the GCC developer community is invited to assist.
> Silence from the peanut gallery is abdication of moral authority to
> complain in the future.

I also submitted using the alloc-pool for et-forest stuff (and have some
more alloc-pool uses for basic blocks and edges) which also improve
compile time measurably due to locality improvements.

This is a small, simple change (all but 4 lines are simple name
substititions of pool_alloc for xmalloc and pool_free for free) that
hasn't been reviewed yet.

See http://gcc.gnu.org/ml/gcc-patches/2002-12/msg01017.html

As a side note, it also can be used to clean up all these free lists we
keep introducing.
The basic block changes are a net code reduction (in fact, it uses almost
half as much code, in addition to being faster), for instance. It also
moves crap off the flow_obstack.

[dberlin@dberlin gcc]$ cvs diff -u3p cfg.c|diffstat
 cfg.c |   68
++++++++++++++++++++++++------------------------------------------
 1 files changed, 25 insertions(+), 43 deletions(-)




>
> David
>
>


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