170

How do you calculate program run time in python?

1

5 Answers 5

354

Quick alternative

import timeit

start = timeit.default_timer()

#Your statements here

stop = timeit.default_timer()

print('Time: ', stop - start)  
Sign up to request clarification or add additional context in comments.

3 Comments

@hajder the time it gives is in seconds right ?!
But default_timer() measures wall clock time, hence any other program will interfere with the measurement.
71

I don't know if this is a faster alternative, but I have another solution -

from datetime import datetime
start=datetime.now()

#Statements

print datetime.now()-start

2 Comments

My favorite! Very simple, but I find that the final line should be 'print( datetime.now()-start )' and does not work without the parentheses.
@ThomasWinckelman: At the time I wrote the answer keeping Python 2 in mind.
64

You might want to take a look at the timeit module:

http://docs.python.org/library/timeit.html

or the profile module:

http://docs.python.org/library/profile.html

There are some additionally some nice tutorials here:

http://www.doughellmann.com/PyMOTW/profile/index.html

http://www.doughellmann.com/PyMOTW/timeit/index.html

And the time module also might come in handy, although I prefer the later two recommendations for benchmarking and profiling code performance:

http://docs.python.org/library/time.html

1 Comment

Thanks! This worked great. One note for others who may be using timeit for the first time, you will need to import locally defined symbols via timeit's setup parameter. For example (if myOwnFunc was locally defined and what you wanted to time): print timeit.timeit('myOwnFunc()', setup='from __main__ import myOwnFunc', number=1). Without the setup parameter, it will complain that it could not find myOwnFunc.
6

@JoshAdel covered a lot of it, but if you just want to time the execution of an entire script, you can run it under time on a unix-like system.

kotai:~ chmullig$ cat sleep.py 
import time

print "presleep"
time.sleep(10)
print "post sleep"
kotai:~ chmullig$ python sleep.py 
presleep
post sleep
kotai:~ chmullig$ time python sleep.py 
presleep
post sleep

real    0m10.035s
user    0m0.017s
sys 0m0.016s
kotai:~ chmullig$ 

Comments

4

see this: Python - time.clock() vs. time.time() - accuracy?

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.