Ich würde gerne einen Ausschnitt meines Codes Zeit, und ich möchte nur die CPU-Ausführungszeit (Betriebssystemprozesse ignorieren usw.).Timing der CPU-Zeit eines Python-Programms?
Ich habe versucht, time.clock(), es erscheint zu ungenau, und gibt jedes Mal eine andere Antwort. (In der Theorie sicherlich, wenn ich es wieder für den gleichen Code-Snippet ausführen würde es den gleichen Wert zurückgeben ??)
Ich habe mit Timeit für etwa eine Stunde gespielt. Im Grunde ist es für mich der "Setup" -Prozess, ich muss ungefähr 20 Funktionen importieren, was unpraktisch ist, da ich meinen Code praktisch nur in den Setup-Abschnitt schreibe, um ihn zu benutzen.
Cprofile sehen immer attraktiver aus, aber geben sie CPU-Zeit zurück? auch ein kleiner Punkt - es gibt viel zu viele Informationen aus. Gibt es eine Möglichkeit, die ausgegebenen Informationen in eine TXT- oder .DAT-Datei zu bekommen, damit ich sie tatsächlich lesen kann?
Prost
OS: Ubuntu Programm: Python 2.7
Beachten Sie, dass Sie für jeden Lauf unterschiedliche Zeiten erhalten, auch wenn Sie nur von Ihrem Prozess gegessene CPU-Zyklen zählen möchten. Dies liegt am CPU-Cache, der jedes Mal in einem anderen Zustand (mit verschiedenen Teilen des Adressraums) endet. Der CPU-Cache wird von Prozessen gemeinsam genutzt. Sie können also nicht garantieren, dass beispielsweise bei jeder Ausführung des Codes eine bestimmte Variable im Cache verbleibt. – liori
[resource.getrusage] (http://docs.python.org/2/library/resource.html) kann verwendet werden, um Prozesszeit in Python 2.7 zu bekommen. – Annan