[Python-Dev] Re: a serious threat to 2.3's speed? (original) (raw)

Skip Montanaro skip at pobox.com
Thu Dec 11 11:06:03 EST 2003


>> It's not clear to me that his current system supports all the
>> different types of callables which CPython supports. That alone might
>> streamline his function call code a lot.

Alex> How so?  Isn't one "indirecting" through the tp_call slot anyway?
Alex> Supporting two or two thousand types of callables should make
Alex> function calls just about the same cost -- or am I missing
Alex> something...?

Python's function call machinery is complex, mostly in the argument marshalling area I think. Take a look in Python/ceval.c at

call_function
fast_function
do_call
ext_do_call
update_keyword_args
update_star_args

If Jim's compiler doesn't yet support any of varargs, keyword args, calling C functions or calling bound method objects, I suspect his code is more streamlined.

Skip



More information about the Python-Dev mailing list