Florian Lindner wrote: > Hello, > > I wrote a script that does some time measurements. It uses > time.perf_counter() from Python 3 which works very well. Now I need to > backport it to python 2. > > Docs say that time.clock() is way to go: > > 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. > > But for me it always returns the almost same number, nothing time like: > > Python 2.7.3 (default, Feb 27 2014, 19:58:35) > [GCC 4.6.3] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> import time >>>> time.clock() > 0.03 >>>> time.clock() > 0.03 >>>> time.clock() > 0.04 >>>> time.clock() > 0.04 > > > What's wrong there?
While clock is not the recommended timer on Linux the granularity is still higher over here: >>> time.clock() 0.06874 >>> time.clock() 0.069221 >>> time.clock() 0.069782 >>> time.clock() 0.070309 That or you can type faster ;) Here's an excerpt from the 2.7 timeit.py: if sys.platform == "win32": # On Windows, the best timer is time.clock() default_timer = time.clock else: # On most other platforms the best timer is time.time() default_timer = time.time In Python3.4 this has become default_timer = time.perf_counter So I'd go with timeit.default_timer(). -- https://mail.python.org/mailman/listinfo/python-list