Seite 2 von 2
Re: Kostenfrage (Resourcenverbrauch)
Verfasst: Montag 19. Dezember 2022, 22:25
von __blackjack__
`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:
Re: Kostenfrage (Resourcenverbrauch)
Verfasst: Montag 19. Dezember 2022, 22:27
von Sirius3
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.
Re: Kostenfrage (Resourcenverbrauch)
Verfasst: Montag 19. Dezember 2022, 22:30
von narpfel
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.)
Re: Kostenfrage (Resourcenverbrauch)
Verfasst: Dienstag 20. Dezember 2022, 00:49
von grubenfox
... 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...
Re: Kostenfrage (Resourcenverbrauch)
Verfasst: Dienstag 20. Dezember 2022, 10:20
von __blackjack__
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.