Pythonでは、ループの実行時間を計測するためのいくつかの方法があります。ここでは、それらの方法を紹介します。
モジュールを使わない時間計測方法
Pythonを対話型で実行できるJupyter Notebookでは%%time
や%%timeit
といったマジックコマンドを使うことができます。これらのコマンドは、プログラムの先頭に記述することで、そのプログラムの実行時間を計測することができます。
%%time
# 処理
ただし、これらのコマンドはプログラム全体の実行時間しか計測できないため、部分的な処理の実行時間を計測したい場合は、次に紹介するモジュールを使った方法を使用します。
モジュールを使う時間計測方法
Pythonのtime
モジュールを使用すると、特定の処理の実行時間を計測することができます。以下に、いくつかの方法を紹介します。
time.time()
time.time()
は、現在のエポック時間(1970年1月1日からの経過秒数)を返します。この関数を使うと、以下のように特定の処理の実行時間を計測できます。
import time
start = time.time()
# 処理
end = time.time()
print(end - start) # 処理時間の出力
time.perf_counter()
time.perf_counter()
は、time.time()
よりも高精度で時間を計測することができます。この関数は、Python 3.3以降でtime.clock()
が廃止された後に導入されました。
import time
start = time.perf_counter()
# 処理
end = time.perf_counter()
print(end - start) # 処理時間の出力
time.process_time()
time.process_time()
は、システムとプロセスのCPU時間を返します。この関数は、プログラムが実際に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のループや他の処理の実行時間を計測することができます。適切な方法を選択して、パフォーマンスの最適化に役立ててください。