I think this should be taken off of python-dev until
you have some quality measurements,
know what's going on, and have an actionable idea.

Aside from list specialization versus a general iterator
protocol, there is no fat in the min/max implementation.
It loops, it compares, it returns.

If we wanted to go the distance and type specialize,
it is possible to use the same ideas that used in
Py2.6's builtin sum() to speed-up compares for particular types.
Personally, I think that would be a waste and would rather
keep the code simple.

Also, a primary use case for min/max is with just two inputs.
We don't want to slow that down in order to provide negligible
improvements to min/max for long sequences.


Raymond

----- Original Message ----- From: "Kristján Valur Jónsson" <[EMAIL PROTECTED]>
To: "Antoine Pitrou" <[EMAIL PROTECTED]>; <python-dev@python.org>
Sent: Wednesday, October 22, 2008 1:37 PM
Subject: Re: [Python-Dev] heapq, min and max


I
Kt just occurred to me:
Even though l.sort() is sorting a presorted array, it still must be doing
10000-1 RichCompares minimum, just like max.  So how do we explain the
large difference?

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf
Of Antoine Pitrou
Sent: Wednesday, October 22, 2008 14:06
To: python-dev@python.org
Subject: Re: [Python-Dev] heapq, min and max

Kristján Valur Jónsson <kristjan <at> ccpgames.com> writes:
> timeit.Timer("(l.sort(), l[-1])",
> s).timeit(1000)
>
> 0.29406761513791935

This is clearly wrong. l.sort() will sort the list in place when it is
first
invoked, and therefore will be very fast in subsequent calls.


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/python%40rcn.com


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to