[issue35199] Convert PyTuple_GET_ITEM() macro to a function call with additional checks in debug mode

STINNER Victor report at bugs.python.org
Fri Nov 9 18:48:50 EST 2018


STINNER Victor <vstinner at redhat.com> added the comment:

> I don't think this should be merged.  A lot of code of uses PyTuple_GET_ITEM(). Also, the "problem" your solving doesn't seem to exist in practice.

Sorry my comment on the PR, a friend contacted me because (...) he misused PyTuple_GET_ITEM() :-)

> Further, I worry that a compiler may choose not to inline on occasion, leading to performance regressions in code that has already been finely tuned.

Oh, maybe I didn't explain properly my change. I don't want to change the "default" API nor the "default" implementation. My change is enabled enabled if you compile Python in debug mode, if Py_DEBUG is defined.

In fact, it's an early attempt to see how we can introduce a new C API in Python. It seems like abusing Py_DEBUG was a bad idea, so I close my PR and I will close this issue as well. I will start a discussion on python-dev later, when I will have a plan.

See also the discussion on the PR:
https://github.com/python/cpython/pull/10435#issuecomment-437530430

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35199>
_______________________________________


More information about the Python-bugs-list mailing list