Author: Armin Rigo <ar...@tunes.org> Branch: extradoc Changeset: r5468:d9be15557668 Date: 2014-11-17 14:10 +0100 http://bitbucket.org/pypy/extradoc/changeset/d9be15557668/
Log: Add my own comments in three places diff --git a/blog/draft/tornado-stm.rst b/blog/draft/tornado-stm.rst --- a/blog/draft/tornado-stm.rst +++ b/blog/draft/tornado-stm.rst @@ -170,7 +170,7 @@ File "/home/arigo/hg/pypy/stmgc-c7/lib-python/2.7/_weakrefset.py", line 70, in __contains__ File "/home/arigo/hg/pypy/stmgc-c7/lib-python/2.7/_weakrefset.py", line 70, in __contains__ -**FIXME** why does it happen? +[Armin: It is unclear why this happens so far. We'll investigate...] The second conflict (without etag tweaks) originates in the transaction module, from this piece of code:: @@ -180,7 +180,9 @@ got_exception) counter[0] += 1 -**FIXME** why does it happen? +[Armin: This is a conflict in the transaction module itself; ideally, +it shouldn't have any, but in order to do that we might need a little bit +of support from RPython or C code. So this is pending improvement.] Tornado modification used in this blog post is based on 3.2.dev2. As of now, the latest version is 4.0.2, and if we @@ -188,6 +190,14 @@ the same changes to this version, then we no longer get any scaling on this benchmark, and there are no conflicts that take any substantial time. +[Armin: There are two possible reactions to a conflict. We can either +abort one of the two threads, or (depending on the circumstances) just +pause the current thread until the other one commits, after which the +thread will likely be able to continue. The tool ``print_stm_log.py`` +did not report conflicts that cause pauses. It has been fixed very +recently. Chances are that on this test it would report long pauses and +point to locations that cause them.] + Part 2: a more interesting benchmark: A-star -------------------------------------------- _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit