E&S CVS Commit: PEAK - Squeezed out another ~100ms by removing support for passing opcode names to

pje at eby-sarna.com pje at eby-sarna.com
Thu Nov 28 20:13:01 EST 2002


Module Name:	PEAK
Committed By:	pje
Date:		Fri Nov 29 01:12:51 UTC 2002

Modified Files:
	PEAK/src/peak/util: Code.py

Log Message:
Squeezed out another ~100ms by removing support for passing opcode names to
certain functions; they now require numeric values.  It's amazing how much
of a difference it can make to remove one 'isinstance()' check, at least if
it's being called over 18000 times.  :)  On the other hand, it's kind of
amazing that doing an 'isinstance()' check 18000 times only takes 100ms!

I think this is going to be the last module inheritance optimization for a
while again.  It's now fast enough for me to begin some serious work on
XMI and UML models without experiencing excess pain during the debugging
process waiting for the code to finish loading.  :)  Guess we'll see how it
goes from here.


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

To generate a diff of this commit:
cvs rdiff -r1.12 -r1.13 PEAK/src/peak/util/Code.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