[Python-Dev] wrt the beta deadline and freelist management

Andrew MacIntyre andymac at bullseye.apana.org.au
Thu Jun 5 04:32:48 CEST 2008

There are 2 disparate approaches to clearing/compacting free lists for
basic types:
- APIs of the form Py<type>_ClearFreeList() called from gc.collect()
   [class, frame, method, tuple & unicode types];
- APIs of the form Py<type>_CompactFreeList() called from
   sys._compact_freelists()  [int & float types];

Both approaches are new for 2.6 & 3.0.

The patch at http://bugs.python.org/issue2862 is geared towards bring
the int/float free list management into line with the others.

The patch at http://bugs.python.org/issue3029 adds free list management
to the dict, list & set types.  The value of this is probably minor,
and this patch is thus not significant in its own right other than for

However Raymond's comment to issue 3029 that the management routines
shouldn't be public APIs is IMO important (& I happen to agree).

It would be nice to reduce the 2 approaches to one.

I would rather the gc.collect() approach, as this seems to be more
obvious to many users who have gone looking for free list management in
prior versions, however my opinion isn't particularly valuable on this.

Can this be resolved for 2.6/3.0?


Andrew I MacIntyre                     "These thoughts are mine alone..."
E-mail: andymac at bullseye.apana.org.au  (pref) | Snail: PO Box 370
        andymac at pcug.org.au             (alt) |        Belconnen ACT 2616
Web:    http://www.andymac.org/               |        Australia

More information about the Python-Dev mailing list