Timing der CPU-Zeit von einem python-Programm?

Ich würde gerne mal ein Ausschnitt von meinem code, und ich möchte nur die CPU-Ausführungszeit (ignorieren Betriebssystem, Prozesse, etc).

Habe ich mal versucht.Uhr () scheint es zu ungenau, und gibt eine andere Antwort jedes mal. (In der Theorie sicherlich, wenn ich es wieder für den gleichen code-snippet sollte es wieder der gleiche Wert??)

Ich habe schon mit timeit für etwa eine Stunde. Im Grunde das, was tötet, es ist für mich das "setup" - Prozess, habe ich am Ende mit zu importieren von rund 20 Funktionen, die nicht praktikabel ist, da bin ich praktisch nur re-schreiben mein code in der setup-Abschnitt, um zu versuchen und verwenden Sie es.

Cprofiles suchen mehr und mehr attraktiv aus, aber das tun Sie wieder die CPU-Zeit? auch, ein kleiner Punkt - es gibt viel zu viel Informationen. Gibt es eine Möglichkeit, um die ausgegebenen Informationen in eine txt-oder .dat-Datei, so kann ich eigentlich gelesen?

Cheers

OS: Ubuntu Programm: python 2.7

  • Beachten Sie, dass Sie die unterschiedlichen Zeiten für jeden Lauf, auch wenn Sie zählen möchten, cpu-Zyklen gegessen nur durch Ihren Prozess. Dies ist, weil der CPU-cache, was am Ende in den anderen Zustand (mit anderen teilen Ihres Adressraum) jedes mal. CPU-cache ist geteilt zwischen Prozessen, so dass Sie nicht garantieren können, dass zum Beispiel jedes mal, wenn Sie führen Sie den code, eine bestimmte variable wird im cache gehalten.
  • Ressource.getrusage können verwendet werden, um Prozess-Zeit in python 2.7
InformationsquelleAutor Nathan Bush | 2013-03-02
Schreibe einen Kommentar