[Python-Dev] int/float freelists vs pymalloc

Andrew MacIntyre andymac at bullseye.apana.org.au
Wed Feb 13 15:28:24 CET 2008


M.-A. Lemburg wrote:
> On 2008-02-13 12:56, Andrew MacIntyre wrote:
>> I'm not that interested in debating the detail of exactly how big the
>> prospective LIFO freelists are - I just want to see the situation
>> resolved with maximum utilisation of memory for minimum performance 
>> penalty.  To that end, +1 from me for accepting your revised patch 
>> against issue 2039.  In addition, unless there are other reasons to
>> retain it, I would be suggesting that the freelist compaction
>> infrastructure you introduced in r60567 be removed for lack of practical 
>> utility (assuming acceptance of your patch).
> 
> If we're down to voting, here's my vote:
> 
> +1 on removing the freelists from ints and floats, but not the
>    small int sharing optimization
> 
> +1 on focusing on improving pymalloc to handle int and float
>    object allocations even better
> 
> -1 on changing the freelist implementations to use pymalloc for
>    allocation of the freelist members instead of malloc, since
>    this would potentially lead to pools (and arenas) being held alive
>    by just a few objects - in the worst case a whole arena (256kB)
>    for just one int object (14 bytes on 32bit platforms).
> 
> Eventually, all freelists should be removed, unless there's a
> significant performance loss.
> 

Sigh...  things are never as simple as they seem...

Prompted by your comment about the small int sharing, which I was aware 
of and was not addressing because I was assuming that its value was 
unimpeachable, I've been doing some more testing with this and the
freelists.

I don't have time to write it up tonight, but I've concluded that my 
original test scripts and other tests weren't showing the real
performance of the various approaches.  Platform (architecture, compiler
etc) oddities & differences complicate life too...

Cheers,
Andrew.

-------------------------------------------------------------------------
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