efficient idiomatic queue?
David Eppstein
eppstein at ics.uci.edu
Mon Jan 14 23:31:27 EST 2002
In article <mailman.1011063861.31491.python-list at python.org>,
"Jason Orendorff" <jason at jorendorff.com> wrote:
> The given operations are usually "quick enough", for small lists
> (less than, say, 5000 items) since the constant coefficient is
> small, compared to the ordinary semi-inefficiency of running
> Python code in the first place.
I'm not sure what you mean by quick enough, but when I tried draining a
list by repeated del L[0], on lists of 10000 elements it took roughly a
second -- more time than I'd like to spend in most interactive situations.
My philosophy to writing general purpose code like a sorting routine is to
use as efficient algorithms as reasonably possible, because even if you
think you are only going to see 5000-element lists and that 1-second delays
are acceptable, someone later may well try it on a million-element list and
get disgusted when the program takes hours to run. I don't mind using
Python compared to faster languages like C, for programs where fast runtime
is not as critical, if the slowdown is limited to constant factor like 10
or 100. But I wouldn't make me happy if the same "it's quick enough"
attitude led to programs with gratuitously inefficient algorithms that
don't scale.
--
David Eppstein UC Irvine Dept. of Information & Computer Science
eppstein at ics.uci.edu http://www.ics.uci.edu/~eppstein/
More information about the Python-list
mailing list