E&S CVS Commit: PEAK - Added more "inlining" of functions when they don't do anything but call

pje at eby-sarna.com pje at eby-sarna.com
Sun Feb 23 22:14:00 EST 2003


Module Name:	PEAK
Committed By:	pje
Date:		Mon Feb 24 03:13:15 UTC 2003

Modified Files:
	PEAK/src/peak/model: features.py

Log Message:
Added more "inlining" of functions when they don't do anything but call
another function.  For example, the _notifyLink/_notifyUnlink functions
are replaced with _link/_unlink if there isn't an inverse relationship that
requires notification.  And the 'add' and 'remove' functions are always
replaced with _notifyLink/_notifyUnlink (or _link/_unlink).  This is about
as much optimization as can be done without creating lots of hairy copies
of the same code, each tuned for its individual situation, or rewriting
bits of this in Pyrex or C.  Unfortunately, attribute reading is still
about 40x slower than regular attributes on my Windows PC, and about 15x
slower than regular attributes on my Linux webserver.  :(


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/src/peak/model/features.py.diff?r1=1.4&r2=1.5

To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 PEAK/src/peak/model/features.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




More information about the source-changes mailing list