Иногда мне нравится время, сколько времени занимает часть моего кода для запуска. Я проверил множество интернет-сайтов и увидел в целом два основных способа сделать это. Один использует time.time
, а другой использует timeit.timeit
.time.time vs. timeit.timeit
Итак, я написал очень простой скрипт, чтобы сравнить два:
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))
В основном, это раз, сколько времени требуется, чтобы напечатать «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()' ('time.clock()' для Windows) и отключает сборщик мусора. Кроме того, одного испытания недостаточно. – Blender
@Blender: 'timeit' использует' time.perf_counter' в Python 3.3+ – jfs
@ J.F.Sebastian: Спасибо, я этого не знал. – Blender