Python 如何编写一个函数来获取每个函数的执行时间

Python 如何编写一个函数来获取每个函数的执行时间

在本文中,我们将展示如何使用Python编写一个函数来获取每个函数的执行时间。现在我们有4种方法来完成这个任务:

现在我们有2种方法来完成这个任务:

  • 使用time.clock()函数

  • 使用time.time()函数

  • 使用time.process_time()函数

  • 使用datetime.now()函数

方法1:使用time.clock()

Python的 Time模块 提供了各种与时间相关的函数。

方法 time.clock() 返回以秒为单位表示的当前处理器时间,精度取决于同名C函数的精度,但无论如何,在Python的基准测试或计时算法中使用该函数。

Windows 中,该函数返回自第一次调用该函数以来过去的墙上时钟秒数,这是一个基于Win32函数QueryPerformanceCounter的浮点数。

语法

time.clock()

参数

  • 返回值 - 返回一个包含当前处理器时间(以秒为单位)的浮点数。

步骤

下面是执行所需任务的算法/步骤:

  • 使用import关键字,引入 time 模块。

  • 使用 clock() 方法来获取代码执行前的当前时间(Python时间方法clock()返回一个以秒为单位的浮点数,表示当前处理器时间),并将其存储在一个变量中,这将是代码执行的起始时间。

  • 编写一些示例代码。

  • 再次获取当前时间。这是代码执行后的时间,并且在代码执行完成时保存为结束时间,并保存在一个变量中。

  • 将结束时间减去开始时间,得到代码执行所用的时间,并打印出来。

示例

下面的程序使用time.clock()函数返回代码执行所用的时间 −

# 导入时间模块
import time

# 在执行代码之前获取当前时间
starttime = time.process_time()

# 代码
print("Hello tutorialspoint python codes")

# 获取执行代码所用的时间(以秒为单位)
endtime = time.process_time()

# 打印代码执行所用的时间
print("Time Taken for code execution is:", endtime - starttime)

输出

执行上述程序后,将生成以下输出 −

Hello tutorialspoint python codes
Time Taken for code execution is: 0.00230999999999959

方法2:使用time.time()函数

步骤

遵循与前一个方法相同的步骤,但使用time()函数(以UTC格式返回以秒为单位的浮点数,表示时间)来获取时间。

示例

下面的程序返回使用time.time()函数执行代码所花费的时间 −

# importing time module
import time

# Get the current time before executing the code
starttime = time.time()

# code
print("Hello tutorialspoint python codes")

# getting the time taken for executing the code in seconds
endtime = time.time()

# Printing the time taken for code execution
print("Time taken for code execution:", endtime - starttime)

输出

执行上述程序将生成以下输出−

Hello tutorialspoint python codes
Time taken for code execution: 0.019986867904663086

方法3:使用time.process_time()函数

按照上一种方法的步骤进行,但使用process_time()函数(用于计算代码的CPU执行时间。如果你希望测量程序的CPU执行时间,请使用time.process_time()而不是time.time())来获取时间。

示例

以下程序使用time.process_time()函数返回代码执行所需的时间−

import time
# 执行代码之前获取当前时间
starttime = time.process_time()

# 代码
# 取样列表
inputList = [2, 5, 9, 1, 6]

# 找到列表中的最大元素
maxElement = max(inputList)

# 打印列表中的最大元素
print('输入列表的最大元素: ', maxElement)

# 获取执行代码所需的时间
endtime = time.process_time()

# 打印代码执行所需的时间
executionTime = endtime - starttime
print('CPU执行时间:', executionTime)

输出

执行上述程序后,将生成以下输出 –

输入列表中的最大元素:9
CPU执行时间:0.00313188600000025

在这里,我们执行了查找给定列表中的最大元素,并使用process_time()函数检查执行该代码的耗时。

方法4:使用datetime.now()函数

Python包括一个 DateTime 模块用于处理日期和时间。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('输入列表中的最大元素:', maxElement)

# 获取执行代码所需的时间
endtime = datetime.now()

# 打印代码执行所需的时间
executionTime = endtime - starttime
print('执行时间:', executionTime)

输出

执行以上程序,将生成以下输出结果:

Maximum Element in input list: 9
Execution Time: 0:00:00.002986

它以HH:MM:SS格式返回经过的时间,表示代码的执行时间为0.002986秒。

总结

在本文中,我们学习了如何使用四种不同的方法获取代码所花费的时间。我们使用了两种类型的例子来说明两种不同代码所经过的时间之间的区别。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程