Python 計算程式執行時間

本篇 ShengYu 將介紹如何使用 Python 去計算某段程式碼花了多久執行時間,有時會想計算自己寫的函式需要多久執行時間,以便改善,這時就可以用 Python 的 time 模組來作計算時間。

以下範例示範如何計算自己寫的排序法 my_sort() 要花多久的執行時間,
通常會在執行 my_sort() 前先取得一次當下的時間,執行 my_sort() 後再取得一次當下的時間,
然後兩個時間相減,就是 my_sort() 的執行時間了,

使用範例

以下範例一開始會需要 import time 模組來取得時間,
範例是計算 my_sort() 的執行時間,使用time.time() 來個別取得開始時間 t1 與結束時間 t2,
之後兩個時間相減再印出來。

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time

def my_sort():
time.sleep(1.1234) # 用 sleep 模擬 my_sort() 運算時間

t1 = time.time()
my_sort()
t2 = time.time()
print('time elapsed: ' + str(round(t2-t1, 2)) + ' seconds')
print('time elapsed: ' + str(t2-t1) + ' seconds')

輸出:

1
2
time elapsed: 0.12 seconds
time elapsed: 0.12355685234069824 seconds

說明

Python 的 time.time() 回傳的數值是浮點數,時間單位是秒,是從1970/1/1 00:00:00 開始到現在經過的秒數。
詳細可以參考 https://docs.python.org/3/library/time.html。
如果要更精準的測量時間應考慮用 time.monotonic() 單調時鐘

相關主題
Python 使用 monotonic 計算程式執行時間
Python 使用 datetime 日期相減
Python 第一支 Python 程式
Python 讓程式 sleep 延遲暫停時間
Python 取得系統當前時間
[Python] 圖片模糊化 blur
[Python] 旋轉圖片 rotate
C++ 計算程式執行時間