【Python】プログラムの実行時間を計測する方法

PythonのTopに戻る


プログラムの実行時間を計測する方法

・timeモジュールを利用する方法

 

 timeモジュールを利用する方法

timeモジュールをインポートして「time.time()」により時刻が取得できるので、その差分から所要時間を求められる。「time.time()」により取得した値はfloat型なので減算が可能である。

import time

start = time.time()

num = [1,1]
for i in range(50):
    tmp = num[i+1] + num[i]
    num.append(tmp)
    print(i+3, tmp)

print(num)

elapsed_time = time.time() - start
print ("elapsed_time:{0}".format(elapsed_time) + "[sec]")
3 2
4 3
5 5
...
(略)
...
50 12586269025
51 20365011074
52 32951280099
[1, 1, 2, 3, 5, 8, 13, ...(略)
elapsed_time:0.0019960403442382812[sec]

なお、この方法で取得しているのはあくまでも時刻なので、期待する精度の高さによっては満足な時間解像度が得られない場合がある。time.time()の代わりに「time.perf_counter()」を用いることにより、プログラムが動いてから現実時間がどの程度経過したかを計測することができる。

timeモジュールで使える関数は以下の通り。

name purpose description sleep
perf_counter() 実時間の計測 パフォーマンスカウンターの値 含める
process_time() プロセスにおいて実際に稼働した時間の計測 現在のプロセスのシステムおよびユーザーの CPU 時間の合計値 含めない
thread_time() スレッドにおいて実際に稼働した時間の計測 現在のスレッドのシステムおよびユーザーの CPU 時間の合計値 含めない
monotonic() システム時刻の経過時間の計測 システムを起動した後の経過時間 含める

(出典:Python 実行時間計測メモ


PythonのTopに戻る