----- Mail original -----
De: "Carl Friedrich Bolz-Tereick" <cfbolz@gmx.de> À: "pypy-dev" <pypy-dev@python.org>, "PIERRE AUGIER" <pierre.augier@univ-grenoble-alpes.fr>, "pypy-dev" <pypy-dev@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? Pierre