[Python-Dev] Inplace operations for PyLong objects
jjevnik at quantopian.com
Fri Sep 1 16:35:41 EDT 2017
Is it true that checking for refcount == 1 is enough? What if a user wrote:
args = (compute_integer(), 5)
# give away args to someone
here `args` still has refcount=1 because only `args` owns this integer.
On Fri, Sep 1, 2017 at 4:19 PM, Jelle Zijlstra <jelle.zijlstra at gmail.com>
> 2017-09-01 13:05 GMT-07:00 Chris Barker <chris.barker at noaa.gov>:
>> On Thu, Aug 31, 2017 at 5:12 PM, Antoine Pitrou <solipsis at pitrou.net>
>>> I'm skeptical there are some programs out there that are limited by the
>>> speed of PyLong inplace additions.
>> indeed, but that could be said about any number of operations.
>> My question is -- how can the interpreter know if it can alter what is
>> supposed to be an immutable in-place? If it's used only internally to a
>> function, the it would be safe, but how to know that?
> I believe Catalin's implementation checks if the object's refcount is 1.
> If that is the case, it is safe to mutate it.
>> Christopher Barker, Ph.D.
>> Emergency Response Division
>> NOAA/NOS/OR&R (206) 526-6959 voice
>> 7600 Sand Point Way NE (206) 526-6329 fax
>> Seattle, WA 98115 (206) 526-6317 main reception
>> Chris.Barker at noaa.gov
>> Python-Dev mailing list
>> Python-Dev at python.org
>> Unsubscribe: https://mail.python.org/mailman/options/python-dev/jelle.
> Python-Dev mailing list
> Python-Dev at python.org
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-Dev