Pythonでは、処理時間を計測するためのいくつかの方法があります。それぞれの方法には特性と使用場面があります。
Jupyter Notebookのマジックコマンド
Jupyter Notebookでは、%%time
や%%timeit
といったマジックコマンドを使うことができます。これらのコマンドは、セル全体の実行時間を計測します。
%%time
# 処理
また、%%timeit
は複数回の実行に対する平均的な時間を計測します。
%%timeit
# 処理
timeモジュール
Pythonのtime
モジュールを使うと、特定の処理の時間を計測することができます。以下にいくつかの関数を紹介します。
time.time()
time.time()
は、現在の時刻をUNIX時間で返します。この関数を使って処理時間を計測するには、処理の前後で時刻を取得し、その差を計算します。
import time
start = time.time()
# 処理
end = time.time()
print(end - start) # 処理時間
time.perf_counter()
time.perf_counter()
は、高精度なタイマーを提供します。この関数もtime.time()
と同様に使用します。
import time
start = time.perf_counter()
# 処理
end = time.perf_counter()
print(end - start) # 処理時間
time.process_time()
time.process_time()
は、システムとプロセスのCPU時間の合計を返します。この関数は、スリープ時間を含まない処理時間を計測するのに適しています。
import time
start = time.process_time()
# 処理
end = time.process_time()
print(end - start) # 処理時間
time.monotonic()
time.monotonic()
は、単調増加する時刻を返します。この関数は、システムの時刻が変更された場合でも信頼性のある結果を提供します。
import time
start = time.monotonic()
# 処理
end = time.monotonic()
print(end - start) # 処理時間
これらの方法を適切に使い分けることで、Pythonの処理時間を正確に計測することができます。