为什么time.clock()返回错误的结果?

tqj*_*stc 2 python python-2.7

为什么time.clock()给出错误的结果?代码如下:

time_start1 = time.time()
time.sleep(5)
bb = time.time() - time_start1;
print bb;
time_1 = time.clock()
time.sleep(5)
cc = time.clock() - time_1
print cc
Run Code Online (Sandbox Code Playgroud)

结果是:

5.00506210327
0.006593
Run Code Online (Sandbox Code Playgroud)

第二个应该是5.0,但为什么它是0.006?我的操作系统是Ubuntu 14.04LTS 64位.我的IDLE版本是2.7.6.

谢谢!

Lei*_*igh 11

time.time()并且time.clock()正在测量不同的东西.

time.time() 测量挂钟经过的时间,自Unix时代开始.

在Linux系统上,time.clock()正在测量处理器时间,这不是以秒为单位的经过时间.

处理器时间是执行该代码的处理器花费了多少时间的近似值,如man页面中所定义的clock(这是time.clock()对Linux系统上的操作系统的底层调用).

Python源代码:https://docs.python.org/2/library/time.html

时钟源:http://linux.die.net/man/3/clock