Python's time.clock() vs. time.time() accuracy?

python, time

Solution

As of 3.3, time.clock() is deprecated, and it's suggested to use time.process_time() or time.perf_counter() instead.

Previously in 2.7, according to the time module docs:

time.clock()

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, but in any case, this is the function to use for benchmarking Python or timing algorithms.

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.

Additionally, there is the timeit module for benchmarking code snippets.

Problem

Which is better to use for timing in Python? time.clock() or time.time()? Which one provides more accuracy? for example: ``` start = time.clock() ... do something elapsed = (time.clock() - start) ``` vs. ``` start = time.time() ... do something elapsed = (time.time() - start) ```

Original source

Related problems