( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【Python】処理時間を3行のコードで取得する方法|time

処理時間を計測する

今回はPythonでコードの処理時間を計測する方法をご紹介します

Pythonは複雑な処理でも、シンプルなコードで記述することができます

そのため人間では到底不可能な難しい処理も、簡単に実行できてしまいます

コードによっては何時間もかかってしまうことがあり、どれだけ負荷が掛かっているかを把握する必要があります

処理時間の取得するイメージ

コードの処理時間を取得するために、処理の「開始時刻」と「終了時刻」を記録しておきます

そして「終了 – 開始」の差分を出し、どのくらい時間がかかっていたかを算出します

Pythonで処理時間を取得するイメージ

UNIX時間とは?

今回の処理では日時(2022/1/1 10:00:00)ではなく、UNIX時間(1652573053)を利用します

UNIX時間(Unixtime)とは協定世界時 (UTC) での1970年1月1日午前0時0分0秒からの経過秒数を示します

約50年ほど経過しているため、10桁の整数になります

50(年) x 365(日) x 24(時間) x 60(分) x 60(秒) = 1,576,800,000

今回は「差分」だけ利用するので、10桁のUNIX時間を日付に変更する必要はありません

PythonのUNIX時間の差分で処理時間を算出する

Pythonで処理時間を算出

UNIX時間を取得する

UNIX時間を利用するために事前にtimeをインポートします

import time

続いてtime.time()を利用して現在のUNIX時間を取得します

time.time()
PythonのUNIX時間

ミリ秒以下の細かい単位まで取得できますが、今回は特に利用しません

PythonのUNIX時間のイメージ

2期間のUNIX時間の差分を取得する

まずはコードの最初に「実行開始のUNIX時間」を取得しておきます

start = time.time()

続けて「実行終了のUNIX時間」を取得します

end = time.time()

そしてその差分を取得します

print(end-start)
PythonのUNIX時間の差分で算出した秒数

UNIX時間は「」で算出されるため、60で割れば「」を表示できます

print(end-start)             #秒
print((end-start) / 60)      #分
print((end-start) / (60*60)) #時間
PythonのUNIX時間の差分

コードを挟む

startendの2つの間にコードを記述しましょう

ブロックを分けても上から実行されるため問題ありません

roundを利用すると四捨五入できるので、最終的な表示が分かりやすくなります

start = time.time()
#####
# コードをここに記述する
#####
end = time.time()
print(round((end-start)/60,2),'分')
コードの事例
Pythonの処理時間を算出するコードのイメージ

まとめ

今回はPythonで処理時間を算出する方法をご紹介してきました

UNIX時間の差分を利用した方法で、たった3行で記述できるためぜひ使ってみてください

機械学習のグリッドサーチでよく登場するので、ぜひ参考にしてみてください

【機械学習】パラメータの調整を徹底解説|GridSearchCV
お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。