0
在理解time.clock()的輸出時有些麻煩:意外的輸出(Python)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的 經銷商ID:LinuxMint 說明:Linux Mint的14納迪亞 發佈:14 代號:納迪亞
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
我顯然缺少的東西在這裏很明顯?
http://stackoverflow.com/questions/85451/python-time-clock-vs-time-time-accuracy –
@CoreyGoldberg-是的,我查看了所有與time.clock()有關的各種問題。 ,包括那一個,但我沒有看到任何解釋爲什麼time.clock()會在第二秒後重復返回相同(意外)值。 – dwelch91
看到我的答案。這是因爲你沒有使用很多處理器週期......所以沒有太多處理器使用時間......在粒度上丟失了。 –