What I want is to start counting time somewhere in my code and then get the passed time, to measure the time it took to execute few function. I think I'm using the timeit module wrong, but the docs are just confusing for me.
import timeit start = timeit.timeit() print "hello" end = timeit.timeit() print end - start
If you just want to measure the elapsed wall-clock time between two points, you could use
import time start = time.time() print("hello") end = time.time() print(end - start)
This gives the execution time in seconds.
Another option since 3.3 might be to use
process_time, depending on your requirements. Before 3.3 it was recommended to use
time.clock (thanks Amber). However, it is currently deprecated:
On Unix, return the current processor time as a floating point number expressed in seconds. The precision, and in fact the very definition of the meaning of “processor time”, depends on that of the C function of the same name.
On Windows, this function returns wall-clock seconds elapsed since the first call to this function, as a floating point number, based on the Win32 function
QueryPerformanceCounter(). The resolution is typically better than one microsecond.
Deprecated since version 3.3: The behaviour of this function depends on the platform: use
process_time()instead, depending on your requirements, to have a well defined behaviour.