diff options
author | Guido van Rossum <guido@python.org> | 2001-10-12 17:43:43 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2001-10-12 17:43:43 (GMT) |
commit | 27b7f9f91e6e88a6607c05f6e47bba5016225a94 (patch) | |
tree | 90c003880f7ce2d0cf5e913914559ac7b144cc0d | |
parent | ea32cbb24e24472f290f7575e494caacd1bfbe05 (diff) | |
download | cpython-27b7f9f91e6e88a6607c05f6e47bba5016225a94.zip cpython-27b7f9f91e6e88a6607c05f6e47bba5016225a94.tar.gz cpython-27b7f9f91e6e88a6607c05f6e47bba5016225a94.tar.bz2 |
The dynamic performance hack is (mostly) done.
-rw-r--r-- | PLAN.txt | 21 |
1 files changed, 11 insertions, 10 deletions
@@ -4,16 +4,6 @@ Project: core implementation Still to do ----------- -More performance work -- one particular test, test_descr.inherits(), -is still about 50% slower with dynamic classes. :-( The approach of -choice would be: - - Add a list of weak refs to derived classes to each dynamic - class, and trap setattr+delattr on the base class so that they - update the tp_XXX slot in each derived class when the base class - __XXX__ gets set or deleted. More work, but more gain (zero waste - in slot_tp_XXX when __XXX__ is not overridden). - Add __del__ handlers? Allow assignment to __bases__ and __dict__? @@ -35,6 +25,17 @@ implemented. Done (mostly) ------------- +More performance work -- one particular test, test_descr.inherits(), +is still about 50% slower with dynamic classes. :-( The approach of +choice would be: + + Add a list of weak refs to derived classes to each dynamic + class, and trap setattr+delattr on the base class so that they + update the tp_XXX slot in each derived class when the base class + __XXX__ gets set or deleted. More work, but more gain (zero waste + in slot_tp_XXX when __XXX__ is not overridden). +*** That's done now, with great success. *** + Make __dynamic__ the default. *** done (but more performance work needs to be done). *** |