プログラム内の処理にかかる時間を計測してみよう
プログラミングをやっていると、
「この処理ってどのくらい時間かかってるの?」
と思ったことがあるかと思います。
また処理の実行時間を測って、Aの処理とBの処理、どっちのほうが早いのか?
など確認したい時もあるかと思います。
そんな時に実行時間を計測する方法をピックアップして
まとめたいと思います。
まずはtime.time() を使ってみよう
例: 空のリスト(y)を準備して、100万個のデータをappendしてみよう
- time.time()の使い方
import time()
time.time()
これで今の時間を取得することができます。
- 実際やってみよう
import time #スタート時のシステム時間を入手 before = time.time() y = [] for i in range(1000000): y.append(i) #for文終了時のシステム時間を入手 after = time.time() t = after - before
結果:0.11580109596252441 s
time.perf_counter()を使ってみよう
先ほどと同じ例を使ってやってみよう。
- time.perf_counter()
import time()
time.perf_counter()
これで今の時間を取得することができます。
import time #スタート時のシステム時間を入手 before = time.perf_counter() y = [] for i in range(1000000): y.append(i) #for文終了時のシステム時間を入手 after = time.perf_counter() t = after - before
結果:0.11933905400007916 s
どちらを使った方がいいの?
より正確な時間を計測したいのであれば、
time.perf_counter()を使ったほうがいいそうです
(time.perf_counter()のほうがより正確なシステム時間を計測できるため)
ですが、大まかな処理の時間を知りたいだけであれば、
どちらを使っても大丈夫ではないかな。と思います。
(それより、複数回実行し平均値を取って比較したほうがいいかな?と思います)
<最終更新日:2021/09/01>
2021/09/01 投稿