summaryrefslogtreecommitdiffstats
path: root/PLAN.txt
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-10-12 17:43:43 (GMT)
committerGuido van Rossum <guido@python.org>2001-10-12 17:43:43 (GMT)
commit27b7f9f91e6e88a6607c05f6e47bba5016225a94 (patch)
tree90c003880f7ce2d0cf5e913914559ac7b144cc0d /PLAN.txt
parentea32cbb24e24472f290f7575e494caacd1bfbe05 (diff)
downloadcpython-27b7f9f91e6e88a6607c05f6e47bba5016225a94.zip
cpython-27b7f9f91e6e88a6607c05f6e47bba5016225a94.tar.gz
cpython-27b7f9f91e6e88a6607c05f6e47bba5016225a94.tar.bz2
The dynamic performance hack is (mostly) done.
Diffstat (limited to 'PLAN.txt')
-rw-r--r--PLAN.txt21
1 files changed, 11 insertions, 10 deletions
diff --git a/PLAN.txt b/PLAN.txt
index 01a1183..4eb78a7 100644
--- a/PLAN.txt
+++ b/PLAN.txt
@@ -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). ***