時には、実行するコードの部分がどれくらい時間がかかるかを時々気に入っています。私は多くのオンラインサイトを調べて、これを行うための大きな2つの主要な方法を見てきました。 1つはtime.time
を使用し、もう1つはtimeit.timeit
を使用しています。time.timeとtimeit.timeit
だから、私は2つを比較することは非常に簡単なスクリプトを書いた:
from timeit import timeit
from time import time
start = time()
for i in range(100): print('ABC')
print(time()-start, timeit("for i in range(100): print('ABC')", number=1))
基本的に時間をそれがforループで「ABC」100回を印刷するのにかかる時間。左側の数字はtime.time
の結果、右の数字はtimeit.timeit
のためである:あなたが見ることができるように
# First run
0.0 0.012654680972022981
# Second run
0.031000137329101562 0.012747430190149865
# Another run
0.0 0.011262325239660349
# Another run
0.016000032424926758 0.012740166697164025
# Another run
0.016000032424926758 0.0440628627381413
は、時々、time.timeが速くなり、時にはそれが遅くなります。どちらが良い方法ですか(より正確です)?
タイミングチャンクのコードには、timeitが適しています。これは 'time.time()'(Windowsでは 'time.clock()'を使います)、ガベージコレクタを無効にします。また、1回の試行では十分ではありません。 – Blender
@Blender: 'timeit'はPython 3.3以降で' time.perf_counter'を使います。 – jfs
@ J.F.Sebastian:ありがとう、私はそれを知らなかった。 – Blender