STINNER Victor added the comment:

> Thus I think we need to optimize only cases of calling with small number 
> (0-3) of positional arguments.

My code is optimized to up to 10 positional arguments: with 0..10 arguments, 
the C stack is used to hold the array of PyObject*. For more arguments, an 
array is allocated in the heap memory.

+   /* 10 positional parameters or 5 (key, value) pairs for keyword parameters.
+      40 bytes on 32-bit or 80 bytes on 64-bit. */
+#  define _PyStack_SIZE 10

For keyword parameters, I don't know yet what is the best API (fatest API). 
Right now, I'm also using the same PyObject** array for positional and keyword 
arguments using "int nk", but maybe a dictionary is faster to combinary keyword 
arguments and to parse keyword arguments.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26814>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to