Author: Armin Rigo <ar...@tunes.org> Branch: stmgc-c7 Changeset: r72332:c65fdedbe74a Date: 2014-07-03 18:17 +0200 http://bitbucket.org/pypy/pypy/changeset/c65fdedbe74a/
Log: Import stm.rst from trunk again. (This checkin is also here to mark the current head of the stmgc-c7 branch.) diff --git a/pypy/doc/stm.rst b/pypy/doc/stm.rst --- a/pypy/doc/stm.rst +++ b/pypy/doc/stm.rst @@ -30,7 +30,8 @@ ``pypy-stm`` is a variant of the regular PyPy interpreter. With caveats_ listed below, it should be in theory within 20%-50% slower than a -regular PyPy, comparing the JIT version in both cases. It is called +regular PyPy, comparing the JIT version in both cases (but see below!). +It is called STM for Software Transactional Memory, which is the internal technique used (see `Reference to implementation details`_). @@ -90,6 +91,11 @@ * So far, small examples work fine, but there are still a few bugs. We're busy fixing them as we find them; feel free to `report bugs`_. +* It runs with an overhead as low as 20% on examples like "richards". + There are also other examples with higher overheads --currently up to + 2x for "translate.py"-- which we are still trying to understand. + One suspect is our partial GC implementation, see below. + * Currently limited to 1.5 GB of RAM (this is just a parameter in `core.h`__). Memory overflows are not correctly handled; they cause segfaults. @@ -105,9 +111,8 @@ * The GC is new; although clearly inspired by PyPy's regular GC, it misses a number of optimizations for now. Programs allocating large - numbers of small objects that don't immediately die, as well as - programs that modify large lists or dicts, suffer from these missing - optimizations. + numbers of small objects that don't immediately die (surely a common + situation) suffer from these missing optimizations. * The GC has no support for destructors: the ``__del__`` method is never called (including on file objects, which won't be closed for you). _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit