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