目次
処理時間を計測する
今回は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時間を取得する
UNIX時間を利用するために事前にtimeをインポートします
import time
続いてtime.time()を利用して現在のUNIX時間を取得します
time.time()
ミリ秒以下の細かい単位まで取得できますが、今回は特に利用しません
2期間のUNIX時間の差分を取得する
まずはコードの最初に「実行開始のUNIX時間」を取得しておきます
start = time.time()
続けて「実行終了のUNIX時間」を取得します
end = time.time()
そしてその差分を取得します
print(end-start)
UNIX時間は「秒」で算出されるため、60で割れば「分」を表示できます
print(end-start) #秒
print((end-start) / 60) #分
print((end-start) / (60*60)) #時間
コードを挟む
startとendの2つの間にコードを記述しましょう
ブロックを分けても上から実行されるため問題ありません
※roundを利用すると四捨五入できるので、最終的な表示が分かりやすくなります
start = time.time()
#####
# コードをここに記述する
#####
end = time.time()
print(round((end-start)/60,2),'分')
まとめ
今回はPythonで処理時間を算出する方法をご紹介してきました
UNIX時間の差分を利用した方法で、たった3行で記述できるためぜひ使ってみてください
機械学習のグリッドサーチでよく登場するので、ぜひ参考にしてみてください
【機械学習】パラメータの調整を徹底解説|GridSearchCV