In article <[email protected]>,
Lie Ryan <[email protected]> wrote:
>On 04/09/11 01:08, Aahz wrote:
>>
>> Actually, my take is that removing __cmp__ was a mistake. (I already
>> argued about it back in python-dev before it happened, and I see little
>> point rehashing it. My reason is strictly efficiency grounds: when
>> comparisons are expensive -- such as Decimal object -- __cmp__ is
>> faster.)
>
>I don't get you... why would sorting a list using __cmp__ be faster when
>comparisons are expensive?
Not sorting (because sorting only requires one comparison), but any
operation involving multiple comparisons. Consider this:
if a < b:
x()
elif a == b:
y()
else:
z()
For a >= b, you need to make two comparisons. Now consider this:
r = cmp(a, b)
if r < 0:
x()
elif r == 0:
y()
else:
z()
--
Aahz ([email protected]) <*> http://www.pythoncraft.com/
"At Resolver we've found it useful to short-circuit any doubt and just
refer to comments in code as 'lies'. :-)"
--Michael Foord paraphrases Christian Muirhead on python-dev, 2009-03-22
--
http://mail.python.org/mailman/listinfo/python-list