Zum Beispiel, wenn ich vermeiden kann, re.py für einen String Ersetzungsvorgang zu verwenden, führt das Laden des 13k (+/-) Moduls nicht zu einer signifikant verbesserten Skriptleistung?Welche Auswirkungen haben Speicher und Leistung auf das Importieren eines bestimmten Moduls aus der Python-Standardbibliothek?
Antwort
Der Leistungseffekt ist minimal. Auf meinem middle-of-the-Road-PC, lief ich den folgenden Befehl ein:
$ time python -mre
real 0m0.021s
user 0m0.017s
sys 0m0.005s
Da der gesamte Prozess des Ladens Python, den Python-Interpreter ausgeführt wird, und Import re
nur 0,02 s hat, die Kosten für Importieren re
ist deutlich kleiner als .02s
.
EDIT:
Weitere Tests mit time python -c 'exit()'
zeigt an, dass nichts zu tun, die gleiche Menge an Zeit wie import re
nimmt. Um es anders auszudrücken, die Kosten von import re
sind nicht messbar.
Das ist unglaublich. Ich denke, meine Sorge ist nicht praktisch, sondern eher eine Frage des Prinzips. – Stephen
- 1. Welche Auswirkungen hat das Importieren nur einige Funktionen eines Moduls
- 2. Failing Eigenschaften eines Moduls importieren
- 3. Log.d und Auswirkungen auf die Leistung
- 4. Importieren eines Moduls basierend auf der installierten Python-Version?
- 5. Welche Auswirkungen haben geschützte Schlüsselwörter in der Klassendefinition in Scala?
- 6. Importieren eines Moduls aus einem Verzeichnis (Paket) eine Ebene höher
- 7. Importieren eines Es6-Moduls, das möglicherweise nicht existiert
- 8. Nested Selektoren Leistung Auswirkungen und weniger
- 9. Boost Python: Probleme beim Importieren eines Moduls
- 10. Haben die Attribute [Optional], [In] und [Out] jemals Auswirkungen auf das Verhalten eines C# -Programms?
- 11. Auswirkungen auf die Leistung mit ASP.NET-Steuerelementen
- 12. Welche Auswirkungen hat der Zugriff auf einen Windows-Registrierungswert?
- 13. Spark - Checkpointing Auswirkungen auf die Leistung
- 14. Das Schließen eines ByteArrayOutputStream hat keine Auswirkungen?
- 15. Mehrere Instanzen eines npm-Moduls haben
- 16. Erstellen und Importieren eines benutzerdefinierten Moduls in Python
- 17. Leistung Auswirkungen von RDD auf JavaRDD Konvertierung
- 18. Was ist ein CTE-Scan und welche Auswirkungen hat er auf die Leistung?
- 19. Importieren verschachtelten Typescript-Moduls
- 20. Leistung Auswirkungen der Verwendung von Swashbuckle
- 21. Aus welchen logischen Gründen haben virtuelle und neue Modifikatoren unterschiedliche Auswirkungen auf Vererbung und Polymorphismus?
- 22. Welche Dimension sollte der cuRAND-Initialisierungskernel haben
- 23. Welche Auswirkungen haben Python-Ganzzahlen, die nicht auf 32 oder 64 Bit beschränkt sind?
- 24. Auswirkungen auf die Leistung von columnfamily und Version in Hbase
- 25. Importieren des Lync/Skype-Moduls
- 26. Python-Importe: Importieren eines Moduls ohne .py-Erweiterung?
- 27. Aufruf eines Perl-Moduls aus Python
- 28. Ausschließen eines Moduls aus webpack Bündel
- 29. Haben Tabellenhinweise in der Ansichtsdefinition Auswirkungen auf die Ansicht?
- 30. Unter welchen Umständen kann GCD negative Auswirkungen auf die Leistung älterer Geräte haben?
Haben Sie ein bestimmtes Modul im Kopf oder fragen Sie es im Allgemeinen? Haben Sie Speicherbeschränkungen? Die meisten Module nehmen keine merkliche Menge an Speicher auf und werden nur einmal und ziemlich schnell importiert. Ehrlich gesagt, würde ich mir mehr Gedanken über die Leistung meines Algorithmus machen, als ein Modul zu importieren. – Reti43
unwahrscheinlich; Ich wette, Sie würden mehr Verbesserungen mit besseren Algorithmen sehen. Sie könnten vielleicht eine kostenlose Performance mit [pypy] (http://pypy.org/) bekommen - der [JIT-Compiler] (https://en.wikipedia.org/wiki/Just-in-time_compilation) nimmt ein paar, um "aufzuwärmen", aber sobald es geht, ist es wirklich schnell. – willnx
@ Reti43 Ja, ich bezog mich auf das Modul 're', dessen Quelle ungefähr 13k ist. Keine Speicherbeschränkungen, aber es macht mich krank, daran zu denken, ein 13k-Modul in den Speicher zu laden, wenn ich es durch ein halbes Dutzend Zeilen Code ersetzen kann. – Stephen