Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #4849
| From | Stefan Behnel <python-de@behnel.de> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] War die Idee mit Iteratoren/Generatoren wirklich so super? |
| Date | 2017-07-25 10:41 +0200 |
| Message-ID | <mailman.16.1500972087.3037.python-de@python.org> (permalink) |
| References | <392f5a95-defa-0f3d-0f1a-d0b554c2fa34@thomas-guettler.de> <3eb349a7-bc35-cf9e-4014-25c23551829b@behnel.de> |
Thomas Güttler schrieb am 25.07.2017 um 10:14: > Ich frage mich: Bringt der Einsatz von Iteratoren und Generatoren wirklich > so viel? > > Sicherlich gibt es extreme Beispiele bei denen die Datenmenge nicht in den > Hauptspeicher passen würde. > > Aber solche Datenmengen habe ich im PostgreSQL, und ich mache auch > Schleifchen über alle Daten > in der DB :-) > > Wie seht ihr das? Hauptspeicherengpässe sind das eine, aber auch bei nichtüberfließenden Datenmengen können Generatoren deutlich schneller sein. Ihr Vorteil liegt vor Allem in der effizienten Nutzung von Resourcen wenn ein Datenelement nach dem anderen komplett (oder zumindest weitreichend) verarbeitet werden kann, anstatt erst alle Elemente einmal durch die CPU zu ziehen, und dann nochmal und nochmal. Und vielleicht nochmal. Je nach Komplexität der Verarbeitung und dem Verhältnis von Einzelelementgröße zu Gesamtdatengröße kann der Unterschied durchaus frappierend sein. Obwohl es natürlich auch Fälle gibt, in denen Generatoren den Code langsamer machen, z.B. weil das einzelne Durchreichen der Daten ja auch zur Laufzeit beiträgt. Na ja, und ich finde es irgendwie auch generell schwer zu verargumentieren, dass Daten komplett im Speicher landen müssen, wenn sie auch wesentlich speichersparender verarbeitet werden können (zumindest bei ähnlicher Laufzeit, also insbesondere bei Dateiverarbeitung, Datenbankabfragen, I/O halt). Meistens ist mein Code ja zur Laufzeit nicht auf der grünen Wiese unterwegs. Stefan
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] War die Idee mit Iteratoren/Generatoren wirklich so super? Stefan Behnel <python-de@behnel.de> - 2017-07-25 10:41 +0200
csiph-web