STINNER Victor added the comment:

Naoki> This patch makes AC produces more FASTCALL instead of VARARGS.

Oh, funny, I wrote the same patch :-) (almost)


> When looking AC output, one downside is it produces many consts like:
> +    static const char * const _keywords[] = {"", "", "", "", "", NULL};

Yeah, I got the same result. I tried to hack a _PyArg_ParseStack() function 
which doesn't take keyword argments (no kwnames), but I lost my mind in 
parser_init().

So I decided to simply rebase my old patches from my random CPython fastcall 
forks to add a simple _PyArg_ParseStack(). My implementation doesn't use the 
super-fast _PyArg_Parser object, but at least it allows to use METH_FASTCALL. 
Compared to what we had previously (METH_VARARGS), it is an enhancement :-)

I prefer to move step by step, since each commit is already big enough. It's 
also easier for me to maintain my forks if I push more changes upstream.

So there is still room for improvement in _PyArg_ParseStack(), but I suggest to 
defer further optimizations to a new issue.

----------

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

Reply via email to