[gclist] Prior work?

Pekka P. Pirinen pekka@harlequin.co.uk
Wed, 9 Feb 2000 17:53:18 GMT


   rather than using a generic scan function that
   interprets tags at runtime, statically emit a specialized scan function
   based on the static type info known at compile time. I'm wondering what 
   the performance tradesoffs are.

There was a paper about the SmallEiffel system at ISMM'98 (Compiler
Support to Customize the Mark and Sweep Algorithm, Dominique Colnet,
Philippe Coucaud and Olivier Zendra) that had good results both in
memory footprint and GC time.  It has some interesting references,
too.

People have tried this from time to time, particularly where tags are
not an option, like C++.  Look for "tagless" or "tag-free" collection.

Basically, it sounds good if you have the type info.  Should be faster
than interpreting the tags.  Make sure you control the recursion,
though.
-- 
Pekka P. Pirinen
Adaptive Memory Management Group, Harlequin Limited