Оценка скорости работы алгоритма на python при помощи timeit

Не редко возникает необходимость оценить скорость выполнения того или иного программного кода. Особенно это касается языков высокого уровня. Не исключение и питон.
Проверим функцию суммирования некоторого диапазона чисел.

Нахождение суммы на python выглядит примерно вот так:

sum(xrange(10**2))

Параметр — диапазон чисел (ещё один «синтакс шугар»). т.е. от 0 до 100
Приступим к получению времени выполнения.
Импортируем timeit:

import timeit

Теперь запишем код который будем тестировать в переменную setup:

>>setup = '''
...sum(xrange(10**2))
... '''

Запускаем проверку:

timeit.Timer(setup=setup).repeat(7)

Тут мы задали 7 повторений, что полезно если вы хотите вычислить среднее время выполнения (ведь каждый раз время вычисления разное).
Кроме того можно выполнить такой код:

timeit.Timer(setup=setup).repeat(7,1000)

Будет выведено время 1000 раз выполнения кода.
Вывод такой:

>>> timeit.Timer(setup=setup).repeat(7,1000)
[9.3936920166015625e-05, 8.6069107055664062e-05, 8.487701416015625e-05, 8.5115432739257812e-05, 8.6069107055664062e-05, 8.487701416015625e-05, 8.6069107055664062e-05]
>>> timeit.Timer(setup=setup).repeat(7)
[0.10830497741699219, 0.084007024765014648, 0.085014820098876953, 0.08604121208190918, 0.088356971740722656, 0.084989070892333984, 0.088797807693481445]

Вот и всё 😉

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий