[Python-Dev] Inplace operations for PyLong objects (original) (raw)

Greg Ewing greg.ewing at canterbury.ac.nz
Fri Sep 1 21:10:23 EDT 2017


Chris Angelico wrote:

This particular example is safe, because the arguments get passed individually - so 'args' has one reference, plus there's one more for the actual function call

However, that's also true when you use the += operator, so if the optimisation is to trigger at all in any useful case, the refcount threshold needs to be set higher than 1.

Some experiments I did suggest that if you set it high enough for x += y to trigger it, then it will also be triggered in Joe's case.

BTW, isn't there already a similar optimisation somewhere for concatenating strings? Does it still exist? How does it avoid this issue?

-- Greg



More information about the Python-Dev mailing list