0

Having some trouble understanding the output from time.clock():

Linux 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux Distributor ID: LinuxMint Description: Linux Mint 14 Nadia Release: 14 Codename: nadia

Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from time import clock, sleep, time
>>> while True: sleep(1); print clock()
... 
0.03
0.03
0.03
0.03
0.03
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt
>>> while True: sleep(1); print time()
... 
1382460160.37
1382460161.37
1382460162.37
1382460163.38
1382460164.38
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt

# ...wait a few minutes...

>>> while True: sleep(1); print clock()
... 
0.04
0.04
0.04
0.04
0.04
0.04
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt
>>> 

$ cat test.py
#! /usr/bin/python

from time import sleep, time, clock

while True:
    print clock(), time()
    sleep(1)


$ python test.py
0.02 1382460623.39
0.02 1382460624.39
0.02 1382460625.39
0.02 1382460626.39
0.02 1382460627.39
0.02 1382460628.39
0.02 1382460629.4
0.02 1382460630.4
0.02 1382460631.4
0.02 1382460632.4
0.02 1382460633.4
0.02 1382460634.4
0.02 1382460635.4
0.02 1382460636.4
0.02 1382460637.41
0.02 1382460638.41
0.02 1382460639.41
0.02 1382460640.41
0.02 1382460641.41
0.02 1382460642.41
0.02 1382460643.41
0.02 1382460644.41
0.02 1382460645.41
0.02 1382460646.42
0.02 1382460647.42
0.02 1382460648.42
0.02 1382460649.42
0.02 1382460650.42
^CTraceback (most recent call last):
  File "test.py", line 7, in <module>
    sleep(1)
KeyboardInterrupt

I'm obviously missing something obvious here?

4
  • stackoverflow.com/questions/85451/… Commented Oct 22, 2013 at 16:59
  • @CoreyGoldberg - yeah, I looked over all the various questions having to do with time.clock(), including that one, but I don't see any that explain why time.clock() would return the same (unexpected) value repeatedly, second after second. Commented Oct 22, 2013 at 17:02
  • see my answer. it's because you have not used many processor cycles.. so not much processor time used... lost in the granularity. Commented Oct 22, 2013 at 17:03
  • OK, got it. I guess the name of the function and the fact it works differently than on other platforms threw me off. Thanks. Commented Oct 22, 2013 at 18:02

1 Answer 1

3

on Linux systems, time.clock() returns "processor time", not "wall time".

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.