2013-01-22 4 views

Antwort

52

Sie time.clock dafür verwenden können.

import time 
start = time.clock() 
#your code here  
print time.clock() - start 

Beim ersten Anruf wird der Timer eingeschaltet und beim zweiten Anruf wird angezeigt, wie viele Sekunden verstrichen sind.

Es gibt bessere Profilierung Tools wie timeit und profile, aber dies man die Zeit misst, und das ist, was Ihr fragen nach

+26

Das ist nicht, wie Sie 'time.clock verwenden()' und 'Zeit .clock() 'misst die CPU-Zeit unter Unix, aber die Wandzeit unter Windows. Es ist besser, 'time.time()' zu verwenden, wo das Verhalten nicht mit dem Betriebssystem variiert. http://stackoverflow.com/questions/85451/python-time-clock-vs-timetime-accuracy – Tim

+2

Gute Beobachtung, @Tim. Ein anderer Beitrag zu derselben Frage zitiert jedoch python doc auf time.clock(), dass "dies die Funktion ist, die zum Benchmarking von Python- oder Timing-Algorithmen verwendet wird". Ich denke, es geht um die Frage, was Sie eigentlich messen wollen. –

+0

Eine sehr schlechte Sache über time.time() ist, dass es durch die Zeit sunchronization ntpdate usw. beeinflusst wird. Ich würde sagen, dass time.clock() die einzige zuverlässige Alternative sein würde –

Verwandte Themen