在 Python 中計算所經過的時間

Muhammad Maisam Abbas 2023年1月30日 2021年3月21日
  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