STINNER Victor added the comment:

Raymond Hettinger: "Most of the SETREFs in the next() functions in the 
itertools module should also be restored to there former state.  They look to 
have been correct before the change, so there was no improvement, only 
degradation.  Much of that code had been finely tuned and battle tested over 
many years -- the addition of SETREFs was gratuitous."

I guess that your concern is performance. Did you notice a performance 
difference on a micro-benchmark? I don't think that it's possible to see any 
difference with the addition of a single if in C.

I disagree that the change is gratuitous: it was discussed at length and 
approved on python-dev and the issue #20440. The idea was not new, it was 
already proposed in issue #3081 (opened in 2008). The issue #20440 (Py_SETREF) 
is a generic fix of the bug #16447. PyPy dev found crazy bugs in CPython :-)

IMHO correctness matters more than performance here.

Oh, and by the way, I like a macro which avoids 3 lines of C code ;-) It makes 
the code shorter and more readable.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26200>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to