
Друзья, программистам часто приходится сравнивать производительность двух и более сниппетов кода, выполняющих одну и ту же задачу.
Бенчмарк — это программа оценки и сравнения производительности некоторого объекта. Бенчмаркинг позволяет рассмотреть разные решения, протестировать их производительность и сравнить полученные показатели скорости. Разработчику как никому другому нужны эти данные, особенно при необходимости оптимизировать работу программы.
В Python мы можем написать бенчмарк, используя модуль
Недавно нашел простенький сервис (видимо, чей-то Pet-проект), который позволяет сравнивать производительность двух и более сниппетов кода. Простой и понятный интерфейс, с возможностью пре- (Setup) и постобработки (Teardown). Рекомендую ознакомиться с ним и протестировать свой код. 😎
С помощью этого сервиса я сравнил время поиска элемента в списке (тип
Вы знаете, почему❓Это очень интересный и важный вопрос, поскольку он затрагивает сразу два аспекта: внутреннее устройство списков и range-объектов.
#полезныйматериал #list #range #бенчмарк
Бенчмарк — это программа оценки и сравнения производительности некоторого объекта. Бенчмаркинг позволяет рассмотреть разные решения, протестировать их производительность и сравнить полученные показатели скорости. Разработчику как никому другому нужны эти данные, особенно при необходимости оптимизировать работу программы.
В Python мы можем написать бенчмарк, используя модуль
time
и его функцию perf_counter()
или модуль timeit
. Подробнее о модуле timeit
можно почитать по ссылке.Недавно нашел простенький сервис (видимо, чей-то Pet-проект), который позволяет сравнивать производительность двух и более сниппетов кода. Простой и понятный интерфейс, с возможностью пре- (Setup) и постобработки (Teardown). Рекомендую ознакомиться с ним и протестировать свой код. 😎
С помощью этого сервиса я сравнил время поиска элемента в списке (тип
list
) и в range
-объекте одинаковой длины (миллион элементов). Результаты оказались очень интересными: поиск в списке выполняется примерно в 10 000 раз дольше, чем в range
-объекта.Вы знаете, почему❓Это очень интересный и важный вопрос, поскольку он затрагивает сразу два аспекта: внутреннее устройство списков и range-объектов.
#полезныйматериал #list #range #бенчмарк