[pypy-dev] minimum system requirements, build configuration

Armin Rigo arigo at tunes.org
Tue Apr 5 22:00:23 CEST 2011


Hi Dima,

On Tue, Apr 5, 2011 at 9:52 PM, Dima Tisnek <dimaqq at gmail.com> wrote:
> What I mean
> to say is that there's gotta be a more clever way where gc thresholds
> depend on e.g. size of working set or rate of new allocations or
> something yet smarter.

Yes, it does in PyPy; we do a full collection when the total amount of
data reaches 1.82 times (by default) the amount of live data at the
end of the previous collection, with additional tweaks to improve
performance in various cases -- and one such tweak is to set the
minimum threshold to 16MB (actually, now I think it is not fixed to
16MB but it depends on the amount of L2 cache).  It was all reached by
various benchmarks on various desktop machines, including the minimum
threshold.  You can see the various thresholds and their defaults at
the start of pypy/rpython/memory/gc/minimark.py (and that's only if
you are using minimark, our default GC).

Of course all the numbers -- and even half of the algorithms -- are
going to be bogus if you start to think about very different machines.
 That's what I meant when I said that there is open work to do, and
you or anyone with an interest in the area (and corresponding
hardware) is welcome to attack it.


A bientôt,

Armin



More information about the Pypy-dev mailing list