[Python-Dev] cmp(x,x)
Michael Chermside
mcherm at mcherm.com
Mon May 24 08:50:07 EDT 2004
I wrote:
> Performance is certainly a legitimate concern.
Armin replied:
> Ok, then the current situation looks like the best one. I
> suggest we just
> drop a note in the documentation saying that if there are
> objects for which
> x.__eq__(x) isn't necessarily true, you shouldn't expect them
> to be handled in
> a fully consistent way.
[...]
> There is an extra costly indirection until the execution
> reaches that point.
Armin:
Performance is a *legitimate* concern, but not an *overwhelming*
one. If we are in danger of having to walk over the entirety of a
(possibly large) recusive structure (eg: tuple of tuples) to do
a comparison, then that's dangerously slow, and it's worth mucking
with the definition of equality to avoid it. But a single indirection
is "costly" only to someone capable of reaching your level of
close-to-the-machine performance understanding. I say, go with your
original plan -- the current behavior is a mess.
-- Michael Chermside
More information about the Python-Dev
mailing list