Author: Remi Meier <remi.me...@gmail.com>
Branch: stmgc-c4
Changeset: r65905:d14443d77df9
Date: 2013-08-02 15:04 +0200
http://bitbucket.org/pypy/pypy/changeset/d14443d77df9/

Log:    Merge

diff --git a/TODO b/TODO
--- a/TODO
+++ b/TODO
@@ -26,3 +26,36 @@
 ------------------------------------------------------------
 
 optimize the static placement of the STM_XxxBARRIERs
+
+------------------------------------------------------------
+
+
+
+Current optimization opportunities (outside the JIT)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+tweak translator/stm/ to improve placement of barriers, at least at
+whole-function level, but maybe cross-function; and reintroduce tweaks
+to the PyFrame object (make sure it's always written and don't put more
+barriers)
+
+in parallel, tweak the API of stmgc: think about adding
+stm_repeat_read_barrier, and support "tentative" write_barrier calls
+that are not actually followed by a write (checked by comparing the
+object contents)
+
+in the interpreter, e.g. BINARY_ADD calls space.add() which possibly
+(but rarely) can cause a transaction break, thus requiring that the
+frame be write-barrier()-ed again.  I'm thinking about alternatives for
+this case: e.g. have a separate stack of objects, and the top-most
+object on this stack is always in write mode.  so just after a
+transaction break, we force a write barrier on the top object of the
+stack.  this would be needed to avoid the usually-pointless write
+barriers on the PyFrame everywhere in the interpreter
+
+running valgrind we can see X% of the time in the read or write
+barriers, but it would be interesting to know also the time spent in the
+fast-path, as well as splitting it based e.g. on the RPython type of
+object.  See also vtune.
+
+reimplement the fast-path of the nursery allocations in the GC
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to