Was ist die schnellste/effizienteste Methode, um eine ausführbare Datei von Python auszuführen? Es scheint mir, dass os.system schneller als subprocess.popen ist. Ich möchte gerne die Zeilen lesen, die aus diesem anderen Prozess hervorgehen, aber viel wichtiger als alles andere ist Geschwindigkeit.schnellste Möglichkeit, einen Prozess von Python aufzurufen?
3
A
Antwort
4
Ich würde erwarten, dass jeder Geschwindigkeitsunterschied zwischen, sagen wir os.system
und und subprocess.Popen
, durch die Kosten des Startens eines neuen Prozesses überschwemmt werden (und die Kontextumschaltung benötigt, um es tatsächlich auszuführen). Daher empfehle ich zuerst subprocess
zu verwenden und die Leistung zu messen.
Eine mögliche Leistungsüberlegung: os.system
und subprocess.Popen(shell=True, ...)
bewirken, dass ein zusätzlicher Shell-Prozess erstellt wird. In den meisten Fällen ist diese Shell nicht erforderlich. Es ist verschwenderisch, es zu schaffen; Sie erhalten doppelt so viele Prozesse, wie Sie für keinen Vorteil benötigen.
Verwandte Themen
- 1. Schnellste Möglichkeit, einen Datenframe abzufragen
- 2. Schnellste Möglichkeit, Nachnamen in Python zu klassifizieren
- 3. Schnellste Möglichkeit, eine Zeichenfolge in Python umzukehren
- 4. Schnellste Möglichkeit, einen Excel-Zeilenbereich zu erhalten
- 5. Schnellste Möglichkeit, über einen Stapel in C#
- 6. Schnellste Möglichkeit, einen Gregorianischen Kalender zu klonen?
- 7. Schnellste Möglichkeit, mehrere Listen zu sortieren - Python
- 8. Python schnellste Möglichkeit, eine große Textdatei (mehrere GB) zu lesen
- 9. Gibt es eine Möglichkeit, eine Python-Funktion mit der falschen Anzahl von Argumenten aufzurufen, ohne einen TypeError aufzurufen?
- 10. Schnellste Möglichkeit zur Massenaktualisierung
- 11. schnellste Weg zum Speichern von Kommentardaten Python
- 12. Einfachste Möglichkeit, Remote-Admin-Zugriff auf einen web2py-Prozess einzurichten
- 13. Schnellste Möglichkeit, Liste in dict
- 14. Schnellste Möglichkeit, Millionen von Dateien zu löschen
- 15. Einen Prozess pausieren?
- 16. schnellste Möglichkeit, Python-Dict mit Teilschlüsselwort zu suchen
- 17. Schnellste Möglichkeit, 1.000.000+ Zufallszahlen in Python zu generieren
- 18. Schnellste Möglichkeit, Unterliste in Python neu zu positionieren
- 19. Effiziente Möglichkeit, mehrere Reduce-Funktionen in Python iterierbar aufzurufen?
- 20. Schnellste Möglichkeit, Java zu erhalten?
- 21. Schnellste Möglichkeit, Interpunktion in C
- 22. Gibt es eine Möglichkeit, Excel VBA-Funktion über Python aufzurufen?
- 23. C++ schnellste Möglichkeit, einen Vektor zu löschen oder zu löschen
- 24. Einfachste/schnellste Möglichkeit, einen Mischmodus zwischen zwei UIViews anzuwenden
- 25. Schnellste Möglichkeit, eine Liste in Python zu vereinheitlichen
- 26. Schnellste Möglichkeit, diese Bindestriche in Python-String einzufügen?
- 27. Schnellste Möglichkeit, Array in PHP
- 28. Schnellste Möglichkeit, einen Iterator in eine Liste zu konvertieren
- 29. Schnellste Möglichkeit, aus Produkt von zwei Listen zu probieren
- 30. Python: wx.py.shell.Shell in einen separaten Prozess stecken
Warum ist die Geschwindigkeit wichtig? Wenn Geschwindigkeit so wichtig ist, warum versuchst du Dinge zu erreichen (a), indem du andere Prozesse startest? (b) mit Python? Was versuchst du wirklich? –
Ich zweite Sekunde, was Karl sagte, und: 'Es scheint mir, dass os.system ist schneller als subprocess.popen'. Bist du dir wirklich sicher? Und ist es wichtig? – user225312
Wenn Sie kein Gewinde benötigen usw., ist der Leistungsunterschied vernachlässigbar. Sie sollten den Python-Code selbst optimieren und die Aufrufe an die Prozesse (z. B. welche Optionen Sie verwenden usw.) –