[Python-Dev] Special-casing "O"

Martin v. Loewis martin@loewis.home.cs.tu-berlin.de
Sun, 27 May 2001 11:01:14 +0200


> To call these, the calling mechanism would have to cast these
> to:
> 
> 	foo(void *, void *, void *)
> 	bar(void *, void *, void *, void *, void *)
> 
> Wouldn't this work ?

I think it would work, but I doubt it would save much compared to the
existing approach. The main point of this patch is to improve
efficiency, and (according to Jeremy's analysis), most of the time for
calling a function is spend in PyArg_ParseTuple. So if we replace it
with another interface that also relies on parsing a string, I doubt
we'll improve efficiency.

IOW, I won't implement that approach. If you do, I'd be curious to
hear the results, of course.

Regards,
Martin

P.S. There would be still cases where PyArg_ParseTuple is needed,
e.g. for "O!".