This is the mail archive of the
mailing list for the GCC project.
Re: Faster compilation speed
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Linus Torvalds <torvalds at transmeta dot com>
- Cc: kevin at atkinson dot dhs dot org, <gcc at gcc dot gnu dot org>
- Date: Sat, 10 Aug 2002 00:12:10 -0400 (EDT)
- Subject: Re: Faster compilation speed
- Reply-to: dberlin at dberlin dot org
> "So what about circular data structures? Refcounting doesn't work for
> them". Right. Don't do them. Or handle them very very carefully (ie
> there can be a "head" that gets special handling and keeps the others
> alive). Compilers certainly almost always end up working with DAG's, not
> cyclic structures. Make it a rule.
Sorry, there are cases that make this impossible to do (IOW we can't make
it a rule).
But another option is to do what Python does.
Have a reference cycle GC that just handles breaking cycles.
Run it explicitly at times, or much like we do ggc_collect now.
Reference cycles can only possibly occur in container objects, so you
only have to deal with the overhead of cycle-breaking there.