Python time.clock () 方法



Python time clock() 方法用于获取当前处理器时间。它以浮点数(以秒为单位)返回。如果要计算执行程序所需的时间,则需要随后调用该方法。它们之间的差异被视为执行程序所花费的时间。

此方法取决于平台;当前处理器时间在 Unix 上以秒为单位表示。精度取决于同名 C 函数的精度,但无论如何,这是用于对 Python 或 timing 算法进行基准测试的函数。

Windows 上,此函数根据 Win32 函数 QueryPerformanceCounter 返回自首次调用此函数以来经过的时钟秒数作为浮点数。

注意:并非所有系统都可以测量真实的处理时间。在此类系统(包括 Windows)上,clock 通常测量自程序启动以来的 wall 时间。该程序在 3.3 之后的 Python 版本中已弃用。

语法

以下是 Python time clock() 方法的语法 -


 time.clock()

参数

该方法不接受任何参数。

返回值

此方法以浮点数(以秒为单位)返回当前处理器时间。

以下示例显示了 Python time clock() 方法的用法。我们只是使用此方法检索处理时间。此示例仅在 Python 2 中可执行。


import time

tm = time.clock()

print "Process time:", tm

当我们运行上述程序时,它会产生以下结果——

Process time: 0.016222

Python time clock() 方法获取处理时间;而且可能已经知道,处理时间与实际时间不同。他们俩都不要混淆。

在此示例中,我们将比较此方法和 time() 方法的返回值。此方法返回处理时间,而 time() 方法返回实际时间。此示例仅在 Python 2 中可执行。


import time

def procedure():
	 	time.sleep(2.5)

# measure process time
t0 = time.clock()
procedure()
print time.clock(), "seconds process time"

# measure wall time
t0 = time.time()
procedure()
print time.time() - t0, "seconds wall time"

让我们比较一下

0.0 seconds process time
2.50023603439 seconds wall time

如果我们想检索执行程序所花费的时间,则需要随后调用 clock() 方法。

在下面的示例中,我们在程序的开头和结尾调用此方法,这两个时间戳之间的差值将是执行程序所花费的时间。同样,这只能在 Python 2 中执行。


import time

# Record the start process time
start = time.clock()
print "Starting process time:", start

# Performing addition task
i = 20
a = i + 30
print "Task:", a

# Ending process time
end = time.clock()
print "Ending process time:", end

print "Total amount of time taken:", (start-end)

上述程序的输出为 −

Starting process time: 0.015982
Task: 50
Ending process time: 0.016011
Total amount of time taken: -2.9e-05