Ich benutze ein Skript, das viele Stunden lang ausgeführt wird und Anweisungen ausgibt, um zu überprüfen, ob Probleme aufgetreten sind (Daten werden aus dem Internet heruntergeladen und manchmal verzerrt). .Löschen des Terminalfensters in Python, Speicher/Leistung
Ich habe nach einer Weile einen deutlichen Leistungsabfall festgestellt. Ich vermute, dass die vielen tausend Zeilen von Druckanweisungen der Grund dafür sein könnten.
Es ist allgemein bekannt, dass das Endgerät durch die folgende Codezeile dieser Druckanweisungen gelöscht werden:
import os
os.system('cls') # for windows
Dennoch vermute ich, dass dies nicht tatsächlich die Leistung Geschwindigkeit verbessern, und dass es ist nur eine wahrgenommene Verbesserung aufgrund der Tatsache, dass der Bildschirm gelöscht wird. Ist das wahr oder nicht?
Ich habe auch mit dem folgenden Code unterdrückt bestimmte Druck Aussagen betrachtet:
import sys
class NullWriter(object):
def write(self, arg):
pass
nullwrite = NullWriter()
oldstdout = sys.stdout
sys.stdout = oldstdout # enable output
print("text that I want to see")
sys.stdout = nullwrite # disable output
print("text I don't want to see")
Meine Frage: Wie kann ich die Performance (Geschwindigkeit) von meinem Skript, da ich immer noch die am meisten sehen will aktuelle Druckanweisungen?
können Sie die Ausgabe in eine Datei protokollieren und tun dann Tail -f, um die Ausgabe zu sehen gestreamt. –
Bitte beheben Sie Ihre Einrückung – marcadian
ja, das Drucken auf Bildschirm verlangsamt Ihr Programm, wenn es viele Ausgaben gibt. –