Message287760
> Please note that the two sets of APIs are not identical, e.g. you cannot simply replace PyEval_CallObject() with PyObject_Call(), since the former applies a few extra checks and defaults, which the latter doesn't.
IMHO these checks are too expensive at runtime for little benefit. If you pass non-tuple to PyObject_Call(), Python immediately crash. You are immediately noticied of the bug :-) I don't think that such bugs are common enough to justify the overhead.
Any idea of the popularity of the undocumented PyEval_xxx() functions? Are they used by Cython for example? By a single random extension module in the world?
I'm more in favor of modifying PyEval_xxx() to call PyObject_xxx() and deprecate them. |
|
Date |
User |
Action |
Args |
2017-02-14 10:16:29 | vstinner | set | recipients:
+ vstinner, lemburg, mark.dickinson, methane, serhiy.storchaka |
2017-02-14 10:16:29 | vstinner | set | messageid: <1487067389.18.0.5784746708.issue29548@psf.upfronthosting.co.za> |
2017-02-14 10:16:29 | vstinner | link | issue29548 messages |
2017-02-14 10:16:28 | vstinner | create | |
|