This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Implement methoddescr_call without _PyMethodDef_RawFastCallDict
Type: Stage: resolved
Components: Interpreter Core Versions: Python 3.8
Status: closed Resolution: duplicate
Dependencies: Superseder:
Assigned To: Nosy List: Mark.Shannon, jdemeyer, petr.viktorin
Priority: normal Keywords: patch

Created on 2019-05-15 15:46 by jdemeyer, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 13342 closed jdemeyer, 2019-05-15 15:48
Messages (2)
msg342579 - (view) Author: Jeroen Demeyer (jdemeyer) * (Python triager) Date: 2019-05-15 15:46
Once PEP 590 is implemented, it makes sense to focus on using the new "vectorcall" calling convention, which is essentially what is currently FastCallKeywords. To simplify things, it would also be good to use FastCallDict in as few places as possible and actually get rid of that completely.

One place where using FastCallKeywords instead of FastCallDict is bad for performance is when using METH_VARARGS|METH_KEYWORDS: the dict would be converted to a tuple and then back to a dict. For builtin_function_or_method instances, there is already special code to deal with METH_VARARGS. But for method_descriptor, there is no such code and this issue fixes that.

More precisely, a specialized function is used for implementing calls of method_descriptor with the METH_VARARGS|METH_KEYWORDS signature. Other calls use FastCallKeywords instead, in which case there is no performance loss.
msg347033 - (view) Author: Jeroen Demeyer (jdemeyer) * (Python triager) Date: 2019-07-01 15:26
Superseded by PR 13781
Date User Action Args
2022-04-11 14:59:15adminsetgithub: 81107
2019-07-01 15:26:55jdemeyersetstatus: open -> closed
resolution: duplicate
messages: + msg347033

stage: patch review -> resolved
2019-05-15 15:48:29jdemeyersetkeywords: + patch
stage: patch review
pull_requests: + pull_request13254
2019-05-15 15:46:01jdemeyercreate