Pythonのコード処理時間を計測する
timeモジュールのtime関数を使います。
timeモジュールの日本語サイトは ここ です。
でも、time()の戻り値って float で、経過時間の差分を測っても、何秒なのかわかりません。
Python
import time
start_time = time.time()
print(type(start_time))
print(start_time)
上のコードを実行すると、このように出力されます。
<class 'float'>
1631831591.8918436
1631831591.8918436
HH:MM:SS表示に変換
経過時間を分かりやすい形式(HH:MM:SS)で表示するように実装します。
time()の戻り値の単位は [秒] です。
Python
import time
start_time = time.time()
# 65秒待つ
time.sleep(65)
elapsed_time = time.time() - start_time
time_h = int(elapsed_time / (60 * 60))
time_m = int((elapsed_time % (60 * 60)) / 60)
time_s = int(elapsed_time % 60)
print('\n elapsed time : {0:02}:{1:02}:{2:02} [HH:MM:SS]\n'
.format(time_h, time_m, time_s))
上のコードのように、sleep()で65秒の遅延処理を挟むと、以下のように表示されます。
elapsed time : 00:01:05 [HH:MM:SS]
Python3.7からはナノ秒に対応
上の例では [秒] 単位の処理時間計測でしたが、time_ns() を使えば、[ナノ秒] でも計測できます。
参考にするサイトは、こちら です。