在 Python 中计算所经过的时间
-
在 Python 中使用
time
模块的time()
函数计算函数的经过时间 -
在 Python 中使用
time
模块的perf_counter()
函数计算函数的经过时间 -
在 Python 中使用
time
模块的process_time()
函数计算函数的经过时间
在本教程中,我们将讨论在 Python 中计算程序执行时间的方法。
time
模块是一个内置模块,其中包含许多与时间相关的功能。时间模块中的几种方法可用于计算 Python 中程序的执行时间。下面将讨论这些方法。
在 Python 中使用 time
模块的 time()
函数计算函数的经过时间
time()
函数为我们提供了当前时间(以秒为单位)。它返回一个浮点数,其中包含以秒为单位的当前时间。以下代码示例向我们展示了如何在 Python 中使用 time()
函数来计算函数的执行时间。
import time
start = time.time()
print("The time used to execute this is given below")
end = time.time()
print(end - start)
输出:
The time used to execute this is given below
0.00011444091796875
在上面的代码中,我们首先使用 time()
函数初始化包含开始时间的 start
变量,然后使用 time()
函数在 print()
语句之后初始化 end
变量。然后,我们通过从 end
中减去 start
来计算总执行时间。
在 Python 中使用 time
模块的 perf_counter()
函数计算函数的经过时间
perf_counter()
函数提供了最准确的系统时间度量。perf_counter()
函数返回全系统的时间,并将睡眠时间考虑在内。perf_counter()
函数还可用于计算函数的执行时间。以下代码示例向我们展示了如何使用 Python 中的 perf_counter()
函数来计算函数的执行时间。
import time
start = time.perf_counter()
print("This time is being calculated")
end = time.perf_counter()
print(end - start)
输出:
This time is being calculated
0.00013678300001629395
在上面的代码中,我们首先使用 perf_counter()
函数初始化包含开始时间的 start
变量,然后使用 perf_counter()
函数在 print()
语句之后初始化 end
变量。然后,我们通过从 end
中减去 start
来计算总执行时间。
在 Python 中使用 time
模块的 process_time()
函数计算函数的经过时间
perf_counter()
函数受计算机后台运行的其他程序的影响。它还会计算睡眠时间。因此,这对于测量程序的执行时间不是很理想。
使用 perf_counter()
函数的最佳实践是运行几次,然后平均时间可以对执行时间进行合理准确的估算。
另一种方法是使用 process_time()
函数。process_time()
函数专门用于估计程序的执行时间。它不受计算机后台运行的其他程序的影响。它还不计算睡眠时间。
process_time()
函数返回一个浮点数,其中包含系统和程序的用户 CPU 时间之和。以下代码示例向我们展示了如何使用 Python 中的 process_time()
函数来计算函数的执行时间。
import time
start = time.process_time()
print("This time is being calculated")
end = time.process_time()
print(end - start)
输出:
This time is being calculated
0.000991254000000108
在上面的代码中,我们首先使用 process_time()
函数初始化包含开始时间的 start
变量,然后使用 process_time()
函数在 print()
语句之后初始化 end
变量。然后,我们通过从 end
中减去 start
来计算总执行时间。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn