[pypy-dev] STM status

Armin Rigo arigo at tunes.org
Thu Feb 16 21:58:18 CET 2012

Hi all,

An update for STM: today I managed to build a pypy using the new "stm
gc".  It runs richards.py on tannit:

in 1 thread: 2320 ms per iteration
in 2 threads: 1410 ms per iteration
in 4 threads: 785 ms per iteration
in 8 threads: 685 ms per iteration

The small gap between 4 and 8 threads is due to tannit having only 4
"real" cpus, each one hyperthreaded.  The additional gain is thus
smaller than expected.

For comparison, a "pypy --jit off" runs at 650ms per iteration.  So
the single-threaded performance is already at only 3.6x worse, and
moreover there are still a few easy big-win optimizations.  I will
confirm it in a few days, but I would say that this shows it's working
quite well. :-)

At least, it's fun to see in "top" a single pypy process using 397% cpu :-)

For people interested, it is in the "stm-gc" branch; at least
bba9b03f5e70 works.  Linux-only for now:  " translate.py -O1 --stm
targetpypystandalone --no-allworkingmodules --withmod-transaction
--withmod-select --withmod-_socket ".  The modified version of
richards.py I use is in pypy/translator/stm/test/.

A bientôt,


More information about the pypy-dev mailing list