Kostenfrage (Resourcenverbrauch)

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.
Benutzeravatar
__blackjack__
User
Beiträge: 14016
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

`test` ist ingesamt unsinnig, denn das lässt sich ja auch ohne so schreiben:

Code: Alles auswählen

if irgendwas:
    for _ in range(800):
        mache_irgenwas

    mache_irgendwas
Davon ausgehend das `mache_irgendwas` jeweils unterschiedliche Dinge sind, sonst wäre es ja nur noch:

Code: Alles auswählen

if irgendwas:
    for _ in range(801):
        mache_irgenwas
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Sirius3
User
Beiträge: 18258
Registriert: Sonntag 21. Oktober 2012, 17:20

Und wieder geht es in erster Linie um die Lesbarkeit. Mehr Code ist meist weniger lesbar.
Wenn ein Code unsinnig ist, ist es schwierig, da konkret zu sagen, wie man es besser machen könnte.
narpfel
User
Beiträge: 690
Registriert: Freitag 20. Oktober 2017, 16:10

narpfel hat geschrieben: Dienstag 22. November 2022, 13:40 Der Code sollte so geschrieben werden, dass er möglichst verständlich ist und nicht mit fragwürdigen Mikrooptimierungen im Hinterkopf, die (wie hier) oft nichts bringen.

Falls der Code tatsächlich zu langsam ist: Messen und sich speziell die Hotspots angucken. (Oder einfach PyPy benutzen.)
Benutzeravatar
grubenfox
User
Beiträge: 606
Registriert: Freitag 2. Dezember 2022, 15:49

... aber bitte nicht bei den Namen (von Variablen, Funktionen, usw...) übertrieben an Buchstaben sparen. Zu lang sollten sie nun auch nicht sein, aber nur z.b. ein oder zwei Buchstaben sind meistens zu wenig. Das ist dann schlecht für die gewünschte Lesbarkeit...
Benutzeravatar
__blackjack__
User
Beiträge: 14016
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wenn es um Geschwindigkeit geht macht das bei lokalen Namen ja sowieso keinen Unterschied, die werden bei CPython schon vom Compiler in feste Indexwerte umgewandelt. Und bei anderen Namensräumen gehe ich mal davon aus, dass ein Vergleich mit den tatsächlichen Zeichen des Namens nur stattfindet falls eine Hash-Kollision vorliegr *und* die Länge von beiden Namen übereinstimmt. Also ein eher unwahrscheinlicher Fall.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Antworten