[pypy-dev] Freelist in PyPy? Reuse short lived objects?

Carl Friedrich Bolz-Tereick cfbolz at gmx.de
Thu Jan 21 09:22:46 EST 2021

On 1/21/21 2:42 PM, PIERRE AUGIER wrote:
> ----- Mail original -----
>> De: "Carl Friedrich Bolz-Tereick" <cfbolz at gmx.de>
>> À: "pypy-dev" <pypy-dev at python.org>, "PIERRE AUGIER" <pierre.augier at univ-grenoble-alpes.fr>, "pypy-dev"
>> <pypy-dev at python.org>
>> Envoyé: Mercredi 20 Janvier 2021 12:33:43
>> Objet: Re: [pypy-dev] Freelist in PyPy? Reuse short lived objects?
>> On 15.01.21 07:44, Carl Friedrich Bolz-Tereick wrote:
>>> This is not ready at all and I don't have enough time to work on it at
>>> the moment, *however*: I have a small prototype (on the branch
>>> map-improvements) that changes the instance layout in PyPy to store
>>> type-stable instances with several fields that contain ints or floats
>>> much more efficiently. It seems to give a 50% speedup on your micro
>>> benchmark, so that's promising. There's still a bug somewhere and it
>>> needs very careful investigation whether it costs too much on
>>> non-numerical programs, but potentially this is a good improvement.
>> Seems to be even more like a 90% improvement on your microbench (from
>> 13.0 to 7.0). I also fixed the bug. Some more work is needed, but it
>> looks relatively promising at this point.
> Yes, it looks really promising! It could bring the pure Python implementation much closer to the C and Fortran implementations used for the benchmark in the Nature Astro paper (Zwart, 2020).
> Note that I'm doing some power usage measurements with serious hardware so I'll soon be able to reproduce and extend the figure shown here: https://github.com/paugier/nbabel. It means that I will soon have everything to propose a serious reply to Zwart (2020).


> To try your version, I guess I need to compile PyPy? And I also guess that it's only for PyPy2 first?

if you tell me your platform I can ask the buildbots to make you a
binary (pypy3 works too, should not be hard to merge).



More information about the pypy-dev mailing list