[mailinglist] [Python-de] Laufzeit-Optimierung (war: Dictionary sortieren???)

Uwe Schmitt schmitt at num.uni-sb.de
Thu May 29 02:37:30 EDT 2003



> Hallo Uwe,
>
> Uwe Schmitt wrote:
> > nochwas: man könnte natürlich dem sort befehl eine vergleichsfunktion
> > mitgeben, die nur die vornamen vergleicht, das bremst aber  im gegensatz
> > zum decorate-sort-undecorate pattern die sort() routine schön aus:
> > pro vergleich muss die c-implementierung von sort wieder in
> > den python-interpreter zurück um die vergleichsfunktion auszuführen...
> > das führt zu einem grossen overhead.
>
> ich denke, bis man festgestellt hat, dass das Programm zu langsam
> läuft, sollte man nicht optimieren. Ich mag Kent Becks(?) Motto
> "Make it work. Make it right. Make it fast."
>
> Ohne Profiling würde ich immer die - eventuell - langsamere, aber
> besser verständliche, Lösung der - eventuell - schnelleren, aber
> unübersichtlichen, Lösung vorziehen. Wenn es die lesbarere Lösung
> sogar die schnellere ist, umso besser.

Hallo, prinzipiell gebe ich Dir recht, ich mag Python auch deswegen,
weil man Ideen oft elegant und schnell umsetzen kann, die spätere
Laufzeit ist da nicht von primärem Interesse. Trotzdem finde ich es
schon erstrebenswert sich in Python soweit auszukennen, daß man
beim Tippen schon in etwa weiß was performant ist und was nicht...
Klar kann man da nicht alles wissen, von Guido v.R. gibt es ein
Essay wo er auch verschiedene Listenoperationen auf Laufzeit
vergleicht und so wie ich das aufgefasst habe, war er teilweise
über Laufzeitunterschiede auch überrascht... das Dokument
muss auf python.org noch rumliegen...

Aber alleine die Diskussion hier rechtfertigt schon die
verschiedenen Lösungsansätze....

Wer an solchen "Feinheiten" interessiert ist, soll unbedingt
das  "Python Cookbook" lesen....  ein sehr gutes Buch...

Gruß, Uwe




More information about the Python-de mailing list