On Sun, May 5, 2013 at 12:59 PM, Armin Rigo <ar...@tunes.org> wrote:

>
> Can we fix it once and for all?  It's annoying because of id: if we
> want ``x is y`` for equal huge strings x and y, but still want
> ``id(x)==id(y)``, then we have to compute ``id(some_string)`` in a
> rather slow way, producing a huge number.  The same for tuples: if we
> always want ``(1, 2) is (1, 2)`` then we need to compute
> ``id(some_tuple)`` recursively, which can also lead to huge numbers.
> In fact such a definition can explode the memory: ``a = (); for i in
> range(100): a = (a, a); id(a)`` would likely need a 2**100-digits
> number.


If the "id(x)==id(y)" requirement is removed, does it mean that "x is y"
for immutable types is simply "x==y"?
So if we have ``a = (); for i in range(100): a = (a, a); b = (a, a)`` then
"a is b" will be computationally expensive?
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to