在 Python 中计算所经过的时间

Muhammad Maisam Abbas 2023年1月30日
  1. 在 Python 中使用 time 模块的 time() 函数计算函数的经过时间
  2. 在 Python 中使用 time 模块的 perf_counter() 函数计算函数的经过时间
  3. 在 Python 中使用 time 模块的 process_time() 函数计算函数的经过时间
在 Python 中计算所经过的时间

在本教程中,我们将讨论在 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 来计算总执行时间。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

相关文章 - Python Time