[Python-Dev] Py_SETREF again
Serhiy Storchaka
storchaka at gmail.com
Fri Feb 12 09:19:13 EST 2016
On 12.02.16 15:43, Georg Brandl wrote:
> On 02/12/2016 10:45 AM, Serhiy Storchaka wrote:
>> Sorry to bringing this up again. I was hoping we were done with that.
>>
>> When discussing the name of the Py_SETREF macro I was supposed to add a
>> pair of macros: for Py_DECREF and Py_XDECREF. But I got a lot of
>> opinions to be limited to only one macro.
>>
>> There was no (besides my) clearly expressed vote for two macros.
>
> I would have voted in favor.
>
> Spelling the SETREF out, as Nick proposes, kind of defies the purpose of
> the macro: it's not strictly a convenience macro, it helps prevent
> refcounting bugs.
>
>> As a result I have replaced both Py_DECREF and Py_XDECREF with the macro
>> that always uses Py_XDECREF.
>
> Can you roughly say which fraction of replacements changed DECREF to an
> implicit XDECREF?
Changesets c4e8751ce637, bc7c56a225de, 539ba7267701, b02d256b8827,
1118dfcbcc35. Rough estimation:
Py_DECREF - 62
Py_XDECREF - 57
Py_CLEAR - 46
Total statistic of using macros in current code:
Py_SETREF 174 2.5%
Py_CLEAR 781 11%
Py_XDECREF 1443 20.5%
Py_DECREF 4631 66%
More information about the Python-Dev
mailing list