>>>> "Martin" == Martin Buchholz
<martin(a)xemacs.org> writes:
>>>> "MS" == Michael Sperber
<sperber(a)informatik.uni-tuebingen.de> writes:
MS> :-) Also, we really want a moving GC, so we need more GCPRO information.
Martin> Unclear. It is _traditionally_ thought that a compacting collector
Martin> wins. For a dissenting opinion, read
Martin>
http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html
Yeah, well, note the precondition he's listing:
Hans> It is however our experience that in single-threaded
Hans> environments with moderately long-lived objects garbage
Hans> collection time generally dominates allocation time, even with
Hans> noncontiguous free memory.
This is true for most pure C and C++ programs where allocation is
painful and therefore rare. Not so for Lisp and other more dynamic
environments.
For a dissenting oppinion on *that*, along with some hard data to back
it up against Boehm's collector, see:
http://www.cs.cornell.edu/talc/papers/mcc-ismm-abstract.html
Martin> Practically, I think it's too difficult to do a moving collector for
Martin> XEmacs. Too many gc bugs to track down! You are welcome to prove me
Martin> wrong, but be prepared to fix all the gc bugs yourself.
This is a two-sided coin: A copying GC also gives you debugging tools
you can't have with non-copying GC.
--
Cheers =8-} Chipsy
Friede, Völkerverständigung und überhaupt blabla