Faster compilation speed
Daniel Berlin
dberlin@dberlin.org
Fri Aug 9 21:12:00 GMT 2002
>
> "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.
--Dan
More information about the Gcc
mailing list