[Python-checkins] CVS: python/dist/src PLAN.txt,1.12,1.13

Guido van Rossum gvanrossum@users.sourceforge.net
2001年10月04日 12:46:08 -0700


Update of /cvsroot/python/python/dist/src
In directory usw-pr-cvs1:/tmp/cvs-serv13410
Modified Files:
	PLAN.txt 
Log Message:
Make new classes dynamic by default.
Index: PLAN.txt
===================================================================
RCS file: /cvsroot/python/python/dist/src/PLAN.txt,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** PLAN.txt	2001年10月03日 03:00:56	1.12
--- PLAN.txt	2001年10月04日 19:46:06	1.13
***************
*** 5,23 ****
 -----------
 
! Make __dynamic__ the default (this requires more performance work --
! one particular test, test_descr.inherits(), is about 10x slower when
! __dynamic__ is 1. :-( There are two ways to go about the performance
! work:
! 
! a) Add shortcuts to the slot_tp_XXX to recognize a PyWrapperDescr
! with the correct wrap_tp_XXX function.
 
! b) Add a list or dict 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__?
--- 5,20 ----
 -----------
 
! 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). This is currently
! awaiting Fred turning the weak ref API into a standard object API.
 
! Add __del__ handlers?
 
 Allow assignment to __bases__ and __dict__?
***************
*** 39,42 ****
--- 36,42 ----
 Done (mostly)
 -------------
+ 
+ Make __dynamic__ the default. *** done (but more performance work
+ needs to be done). ***
 
 Treat all binary operators the same way as I just did for rich

AltStyle によって変換されたページ (->オリジナル) /