[Tim]
>> - For truly effective RAM releasing, we would almost certainly need to
>> make major changes, to release RAM at an OS page level.   256K arenas
>> were already too fat a granularity.

[also Tim]
> We can approximate that closely right now by using 4K pools _and_ 4K
> arenas:  one pool per arena, and mmap()/munmap() are then called on
> one page at a time.

Sorry about this:  there was another exceedingly subtle "there's more
than one pool in an arena" assumption in the code, which didn't cause
anything to fail, but did cause it to hold on to empty arenas in some
cases.  Repaired that, and then:

> For memcrunch.py, using 200x the original initial objects, this works
> quite well!
> ...
> So, at the end, space utilization is over 90%:
>
> 1,968,234,336 / 2,165,366,784 = 0.90896117

Which changed to the slightly better:

1,968,235,360 / 2,143,465,472 = 0.91824916


> OTOH, an even nastier version of the other program I posted isn't
> helped much at all, ending like so after phase 10:
> ...
> 232,861,440 / 4,073,746,432 = 0.0571615

And that one enjoyed a relatively huge improvement, to:

232,861,440 / 2,334,990,336 = 0.09972694

But none of that changes any of the bottom-level observations or speculations.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/WX5CJODDLQIQAYJRYY2FWPUPVR725SWV/

Reply via email to