Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Ja ok, ich wollte jetzt einfach mal die Gelegenheit nutzen: Ein bischen klugscheißen und mit 'nem Decorator um mich werfen!!!
Wenn wir schon dabei sind:
In diesem Fall fände ich es syntaktisch eigentlich schöner, die zu messende Funktion an die messende Funktion zu übergeben. Ok, ich verstehe schon, dass es den einen oder anderen Fall gibt, wo ein Decorator für mehr Klarheit sorgt. Aber sowas wie 'ne Messroutine... würdet ihr das mit Decorator oder via Übergabe (was ja letztlich dasselbe ist) machen?
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
Ich finde es nicht nur syntaktisch schoener keine Dekoratoren zu nutzen, sondern auch in vielen anderen Aspekten. Will man keine dauerhafte Ueberwachung der Funktion haben, hat man mit dem Dekorator ein Problem
Wenn man die zu messende Funktion uebergibt hat man das Problem nicht. Man kann die Dekorator-Funktion aber auch nicht als Dekorator nutzen und umschifft es auch:
@mutetella: Die konkrete Messung widerlegt aber nicht, dass die Vorgehensweise die Elemente verschieden oft betrachten muss. Der `Counter` geht einmal durch die Daten, die Lösung mit der `count()`-Methode geht sechsmal durch die gleiche Datenmenge. Dass das trotzdem schneller ist, kann man auch als Implementierungsdetail ansehen, weil die Schleife bei `count()` intern in C programmiert ist und bei `Counter` verhältnismässig viel Python-Code für den einen Durchgang abgearbeitet wird. Das kann bei anderen Implementierungen, beispielsweise PyPy oder einem in C implementierten `Counter`, schon wieder anders aussehen. Solange es nicht tatsächlich zu einem messbaren Problem führt, würde ich fast immer den Algorithmus mit weniger „atomaren” Schritten wählen.
@lunar
Nun ja... das Thema Performance war ja in der Vergangenheit hin und wieder schon... keine Ahnung, wie ich jetzt sagen soll... war jedenfalls immer für ein Schmunzeln gut... puh, gerade noch die Kurve bekommen... *grins*
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
@mutetella So war das nicht gemeint. Ich habe nicht verstanden, dass Du nur auf vergangene Diskussionen anspielst, und dachte, ich wäre Dir mit irgendeinem Beitrag auf die Füße getreten. Sorry