Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #79310 > unrolled thread
| Started by | Peter Otten <__peter__@web.de> |
|---|---|
| First post | 2014-10-20 10:09 +0200 |
| Last post | 2014-10-20 10:09 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: time.perf_counter in Python 2? Peter Otten <__peter__@web.de> - 2014-10-20 10:09 +0200
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Date | 2014-10-20 10:09 +0200 |
| Subject | Re: time.perf_counter in Python 2? |
| Message-ID | <mailman.14995.1413792597.18130.python-list@python.org> |
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().
Back to top | Article view | comp.lang.python
csiph-web