E&S CVS Commit: PyProtocols - 1.5 more microseconds, this time by going to Pyrex. Execution time is down

pje at eby-sarna.com pje at eby-sarna.com
Mon Feb 7 21:51:00 EST 2005


Module Name:	PyProtocols
Committed By:	pje
Date:		Tue Feb  8 02:50:42 UTC 2005

Modified Files:
	PyProtocols: setup.py
	PyProtocols/src/dispatch: functions.py strategy.py
	PyProtocols/src/protocols: _speedups.c _speedups.pyx
Added Files:
	PyProtocols/src/dispatch: _speedups.c _speedups.pyx

Log Message:
1.5 more microseconds, this time by going to Pyrex.  Execution time is down
to 6.01 for the test, which means the overhead is now a mere 5.25 uS!
I also split the dispatch code out of protocols._speedups and into a new
dispatch._speedups module.  I think I'm now officially done trying to trim
time off the "fast path", and can now turn towards optimizing expression
calculation times, at least once I come up with an appropriate test.  But
before that, it'd probably be a good idea to rationalize the built-in
errors for "no methods" and "ambiguous methods" so that chained methods
can detect when the next method is absent or ambiguous, and so that error
messages contain more helpful information.  Then finishing the method
combiner framework, and adding pattern matching support should probably
come before optimizing expression calculation and the other dispatch
functions (like dispatch_by_mro).


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PyProtocols/setup.py.diff?r1=1.15&r2=1.16
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/_speedups.c?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/_speedups.pyx?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/functions.py.diff?r1=1.31&r2=1.32
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/strategy.py.diff?r1=1.24&r2=1.25
http://cvs.eby-sarna.com/PyProtocols/src/protocols/_speedups.c.diff?r1=1.14&r2=1.15
http://cvs.eby-sarna.com/PyProtocols/src/protocols/_speedups.pyx.diff?r1=1.13&r2=1.14

To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 PyProtocols/setup.py
cvs rdiff -r0 -r1.1 PyProtocols/src/dispatch/_speedups.c \
    PyProtocols/src/dispatch/_speedups.pyx
cvs rdiff -r1.31 -r1.32 PyProtocols/src/dispatch/functions.py
cvs rdiff -r1.24 -r1.25 PyProtocols/src/dispatch/strategy.py
cvs rdiff -r1.14 -r1.15 PyProtocols/src/protocols/_speedups.c
cvs rdiff -r1.13 -r1.14 PyProtocols/src/protocols/_speedups.pyx

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