Complexity of standard Python data structures
Chris Jones
clj at acme.com
Mon Apr 14 21:27:13 EDT 2003
Tim Peters <tim.one at comcast.net> writes:
> [Tim]
> > Note that it's not true that Python's list is really a vector/array --
> > thelanguage doesn't define its implementation, and doesn't want to.
>
> [Marcus Alanen]
> > Hmm. So the Python language is more about specifying _what_ will
> > happen, instead of _how_, with no concern for actual speed or memory?
>
> The Python language reference manual, and the Python standard library
> reference manual, are like that, and that's par for the course for language
> specs: they specify syntax ("how is it spelled?") and semantics ("what does
> it mean?"). Everything else falls under pragmatics, often called "quality
> of implementation" issues. The STL is close to unique, outside the
> real-time world, in making promises related to performance. For the other
> side, I spent the first 15 years of my career working largely on optimizing
> Fortran compilers and runtime libraries: no user base was more concerned
> about speed than Fortran's, yet the Fortran standard didn't breathe a word
> about how fast or slow any construct or standard function might be, could
> be, or should be. Similarly, the IEEE-754 standard for floating-point
> arithmetic doesn't say anthing about speed either. Standards bodies are
> generally loathe to constrain implementations.
>
> Of course the Python language itself is distinct from (albeit related to)
> its implementations. People working on implementations are typically quite
> concerned about speed and memory. The pragmatic tradeoffs can (and do) vary
> across implementations, though (same as for C, C++, Fortran, Java, etc).
People wanting to program should nail a copy of this posting above their
keyboard.
More information about the Python-list
mailing list