如何编写一个能够在Python中获取各个函数执行时间的函数?
在本文中,我们将展示如何使用Python编写一个函数来获取各个函数的执行时间。现在我们看到有4种方法可以完成这个任务-
现在我们看到有2种方法可以完成这个任务-
- 使用time.clock()函数
-
使用time.time()函数
-
使用time.process_time()函数
-
使用datetime.now()函数
更多Python相关文章,请阅读:Python 教程
方法1:使用time.clock()
Python的 Time模块 提供了各种与时间相关的函数。
方法 time.clock() 返回当前进程器时间作为浮点数,表示Unix上的秒数。精度取决于同名的C函数,但无论如何,这是用于基准测试Python或定时算法的函数。
在 Windows 上,此函数返回自此函数首次调用以来经过的墙钟秒数,作为基于Win32函数QueryPerformanceCounter的浮点数。
语法
time.clock()
参数
- 返回值 - 返回一个包含当前处理器时间(以秒为单位)的浮点数。
算法(步骤)
以下是执行所需任务的算法/步骤-
- 使用import关键字导入time模块。
-
在代码执行前使用clock()方法(Pythom时间方法clock()将当前处理器时间返回为以秒为单位的浮点数在Unix上表示),并将其保存在变量中,这将是代码执行的起始时间。
-
编写一些示例代码。
-
再次获取当前时间。这是代码执行后的时间,当代码执行完成时,将其保存为结束时间,并将其保存在变量中。
-
用结束时间减去开始时间得到代码的经过时间,并将其打印。
示例
以下程序使用time.clock()函数返回代码执行时间-
# 导入time模块
import time
# 获取执行代码之前的当前时间
starttime = time.process_time()
# 代码
print("Hello tutorialspoint python codes")
# 获取执行代码所需的时间(以秒为单位)
endtime = time.process_time()
# 打印执行代码所需的时间
print("执行代码所需的时间为:", endtime - starttime)
输出
在执行以上程序后,将生成以下输出-
“`python Hello tutorialspoint python codes
执行代码所需的时间为:0.00230999999999959
<pre><code class="line-numbers">## 方法2:使用time.time()函数
### 算法(步骤)
按照上一种方法的步骤操作,但使用time()函数(返回自纪元时间以来以秒为单位表示的微调时间,以UTC为基础)获取时间。
### 示例
以下程序使用time.time()函数返回代码执行时间-
“`python
# 导入time模块
import time
# 获取执行代码之前的当前时间
starttime = time.time()
# 代码
print(“Hello tutorialspoint python codes”)
# 获取执行代码所需的时间(以秒为单位)
endtime = time.time()
# 打印执行代码所需的时间
print(“执行代码所需的时间为:”, endtime – starttime)
输出
在执行以上程序后,将生成以下输出-
Hello tutorialspoint python codes
执行代码所需的时间为:0.019986867904663086
方法3:使用time.process_time()函数
按照上一种方法的步骤操作,但使用process_time()函数(它用于计算代码的CPU执行时间。如果您希望测量程序的CPU执行时间,请使用time.process_time()而不是time.time())获取时间。
示例
下面是一个使用time.process_time()函数返回代码执行时间的示例:
# 导入time模块
import time
# 获取执行代码之前的当前时间
starttime = time.process_time()
# 代码
print("Hello tutorialspoint python codes")
# 获取执行代码所需的时间(以秒为单位)
endtime = time.process_time()
# 打印执行代码所需的时间
print("执行代码所需的时间为:", endtime - starttime)
“以下程序使用time.process_time()函数返回代码执行时间-”
import time
# 在执行代码之前获取当前时间
starttime = time.process_time()
# 代码
# 取样列表
inputList = [2, 5, 9, 1, 6]
# 找到列表中的最大元素
maxElement = max(inputList)
# 打印列表中的最大元素
print('Input List中的最大元素: ', maxElement)
# 获取执行代码所需的时间
endtime = time.process_time()
# 打印执行代码所需的时间
executionTime = endtime - starttime
print('CPU执行时间:', executionTime)
输出
执行以上程序将会输出以下结果-
Input List中的最大元素: 9
CPU执行时间: 0.00313188600000025
在这里我们执行了查找给定列表的最大元素并使用process_time()函数检查了执行该代码所用的经过时间。
方法 4:使用datetime.now()函数
Python包括一个 DateTime 模块,用于处理日期和时间。日期时间是 Python 中的内置模块,而不是原始数据类型。我们只需要导入上面提到的模块即可使用日期与时间作为日期对象进行处理。
按照前一种方法的步骤,但使用 datetime.now ()函数(返回当前本地日期和时间)获取当前日期和时间以 HH:MM:SS 格式表示。
例子
下面的程序使用datetime.now()函数返回代码执行时间-
#导入datetime模块
from datetime import datetime
#以HH:MM:SS格式获取当前时间
starttime = datetime.now()
# 代码
# 取样列表
inputList = [2, 5, 9, 1, 6]
# 找到列表中的最大元素
maxElement = max(inputList)
# 打印列表中的最大元素
print('Input List中的最大元素: ', maxElement)
# 获取执行代码所需的时间
endtime = datetime.now()
# 打印执行代码所需的时间
executionTime = endtime - starttime
print('执行时间:', executionTime)
输出
执行以上程序将会输出以下结果-
Input List中的最大元素: 9
执行时间: 0:00:00.002986
它返回以 HH:MM:SS 格式表示的经过时间,指示代码在 0.002986 秒内执行。
结论
此文介绍了Python中四种获取代码执行时间的方法–
- 使用time.time()函数
- 使用timeit.default_timer()函数
- 使用time.process_time()函数
- 使用datetime.now()函数
了解不同的方法以及何时使用它们将有助于我们更好地了解代码执行时间,并进行必要的优化和改进。
在本文中,我们学习了使用四种不同的方法获取代码所花费的时间。我们使用了两种类型的示例来展示两个不同代码的耗时的区别。
极客教程