Ich möchte die verstrichene Zeit messen, um einen Code-Block in einem Python-Programm möglicherweise zwischen Benutzer CPU-Zeit, System-CPU-Zeit und verstrichene Zeit zu unterscheiden.Get Zeit der Ausführung eines Blocks von Code in Python 2.7
Ich kenne das timeit
Modul, aber ich habe viele selbstgeschriebene Funktionen und es ist nicht sehr einfach , sie im Setup-Prozess zu übergeben.
Ich würde lieber etwas, das wie verwendet werden könnten:
#up to here I have done something....
start_counting() #or whatever command used to mark that I want to measure
#the time elapsed in the next rows
# code I want to evaluate
user,system,elapsed = stop_counting() #or whatever command says:
#stop the timer and return the times
Die Benutzer- und System-CPU-Zeiten nicht wesentlich sind (obwohl ich sie messen möchte), aber für die verstrichene Zeit würde ich gerne in der Lage sein, etwas zu tun, anstatt komplizierte Befehle oder Module zu verwenden.
ich gelesen habe, dass Dies ist nicht der beste Ansatz für Code-Blöcke, die nur einen Bruchteil einer Sekunde benötigen. Auch ich denke, dass mit dem Zeitmodul die .clock() Methode bevorzugt wird? http://stackoverflow.com/questions/85451/python-time-clock-vs-timetime-accuracy – lucacerone
Meine Antwort geändert, um 'timeeit.default_timer()' zu verwenden, die zwischen 'time.time()' wählen wird oder 'time.clock()' abhängig davon, welche höhere Auflösung auf der von Ihnen verwendeten Plattform vorliegt. –
danke, default_timer() scheint besser. Die Hinweise auf dieser Seite scheinen auch sehr nett zu sein! http://www.huyng.com/posts/python-performance-analysis/ – lucacerone