Message364325
The implementation of `PyObject_Vectorcall` adds unnecessary overhead to PEP 590, which undermines its purpose.
The implementation was changed in https://github.com/python/cpython/pull/17052, which I objected to at the time.
The change has a negative impact on performance as it add calls to both
`PyThreadState_GET()` and `_Py_CheckFunctionResult()`.
This is practically an invitation for callers to skip `PyObject_Vectorcall` and access the underlying function pointer directly, making `PyObject_Vectorcall` pointless.
https://github.com/python/cpython/pull/17052 should be reverted. |
|
Date |
User |
Action |
Args |
2020-03-16 14:09:28 | Mark.Shannon | set | recipients:
+ Mark.Shannon, vstinner, petr.viktorin |
2020-03-16 14:09:28 | Mark.Shannon | set | messageid: <1584367768.43.0.96665023225.issue39978@roundup.psfhosted.org> |
2020-03-16 14:09:28 | Mark.Shannon | link | issue39978 messages |
2020-03-16 14:09:28 | Mark.Shannon | create | |
|