Pythonで経過時間を測定する
この投稿では、Pythonで経過時間を測定する方法について説明します。
1.使用する timeit
モジュール
Python timeit
モジュールは、小さなコードスニペットの実行時間を測定するために広く使用されています。あなたは使用することができます timeit()
関数、無名関数を実行します number
実行。デフォルトは100万です。タイミング中にガベージコレクションを一時的にオフにします。
1 2 3 4 5 6 7 8 |
import timeit import time if __name__ == '__main__': t = timeit.timeit(lambda: time.sleep(1), number=5) print(t) |
The timeit
モジュールは別の便利な機能を提供します、 repeat()
、指定された無名関数を実行します repeat
カウントして number
死刑執行。
1 2 3 4 5 6 7 8 |
import timeit import time if __name__ == '__main__': t = timeit.repeat(lambda: time.sleep(1), repeat=10, number=5) print(t) |
最後に、デフォルトのタイマーを使用できます timeit.default_timer()
.
1 2 3 4 5 6 7 8 9 10 11 |
import timeit import time if __name__ == '__main__': start = timeit.default_timer() time.sleep(1) end = timeit.default_timer() print(f"Time taken is {end - start}s") |
2.使用する time
モジュール
Python 3.3以降では、 time.perf_counter()
パフォーマンスカウンターの値を取得する関数。これを使用して短時間を測定し、使用可能な最高の解像度のクロックを使用できます。 timeitモジュールのデフォルトタイマー default_timer()
常に使用する time.perf_counter()
.
1 2 3 4 5 6 7 8 9 10 |
import time if __name__ == '__main__': start = time.perf_counter() time.sleep(1) end = time.perf_counter() print(f"Time taken is {end - start}") |
2つのコードインスタンス間の経過時間をナノ秒単位で測定するには、 time.time_ns()
関数。浮動小数点数のエポックからの時間をナノ秒単位で返します。
1 2 3 4 5 6 7 8 9 10 |
import time if __name__ == '__main__': start = time.time_ns() time.sleep(1) end = time.time_ns() print(f"Time taken is {end - start}ns") |
3.使用する datetime
モジュール
高精度を求めていない場合は、を使用して2つのコードインスタンス間の経過時間を計算できます datetime.now()
以下に示すように、関数:
1 2 3 4 5 6 7 8 9 10 11 |
from datetime import datetime import time if __name__ == '__main__': start = datetime.now() time.sleep(1) end = datetime.now() print(f"Time taken in (hh:mm:ss.ms) is {end - start}") |
Pythonで経過時間を測定することはこれですべてです。