[gclist] Fast-allocating non-copying GC's

Darius Blasband darius@phidani.be
Thu, 14 Mar 1996 08:44:42 +0100 (MET)


> I'm also interested in why fragmentation would plague a Smalltalk
> system, but not a C++ or Modula-3 system, if a list-per-size
> allocation strategy is used.  The freelists can generate more internal
> fragmentation when small things are stuffed into too-big buckets, but
> it takes interesting allocation patterns to get external
> fragmentation.  I've also had good luck customizing lists on-the-fly
> to reduce internal fragmentation as well (I sample the size when
> requesting an additional page for a more buckets.  Sounds like a dumb
> heuristic, but it often worked, and it keeps the usual case fast.  I
> don't recall the exact numbers, but it was fast and compact.  It was
> part of an effort to boost some benchmark numbers for a former
> employer's compilers.) If you know that you'll be customizing in the
> future, then you can start off with a larger granularity, and avoid
> populating entire pages with single instances of objects.
> 
> I'll try to recreate that customizing allocator one of these days.
> It was fun (that is not an engineering statement :-).

Could you please be more specific about "customizing allocator" ? 
It all sounds interesting, but I am afraid I miss couple of details...

Cheers

Darius