E&S CVS Commit: Trellis - Refactor retry, cycle detection, and rollback to allow reentrant

pje at eby-sarna.com pje at eby-sarna.com
Fri Dec 28 11:20:49 EST 2007


Author: pje
Date: Fri Dec 28 11:20:47 2007
New Revision: 2447

URL: http://svn.eby-sarna.com?rev=2447&view=rev
Log:
Refactor retry, cycle detection, and rollback to allow reentrant
rollback, so we'll be able to have "todo" cells do complete data
structure rollbacks.  As a nice side-effect, this refactoring
speeds up rule processing by making fewer attribute changes and
recording fewer undo actions.  The tests for Python 2.3 run about
33% faster than they did before, although they're still 7 times
slower than the Python 2.5 tests.  (The speedup for 2.3 is
disproportionate because the cost of getting or setting controller
attributes is much higher, due to threading.local being in Python
instead of C.)

Modified:
    Trellis/peak/events/stm.py
    Trellis/test_trellis.py




More information about the source-changes mailing list