Друзья, программистам часто приходится сравнивать производительность двух и более сниппетов кода, выполняющих одну и ту же задачу.



Бенчмарк — это программа оценки и сравнения производительности некоторого объекта. Бенчмаркинг позволяет рассмотреть разные решения, протестировать их производительность и сравнить полученные показатели скорости. Разработчику как никому другому нужны эти данные, особенно при необходимости оптимизировать работу программы.



В Python мы можем написать бенчмарк, используя модуль time и его функцию perf_counter() или модуль timeit. Подробнее о модуле timeit можно почитать по ссылке.



Недавно нашел простенький сервис (видимо, чей-то Pet-проект), который позволяет сравнивать производительность двух и более сниппетов кода. Простой и понятный интерфейс, с возможностью пре- (Setup) и постобработки (Teardown). Рекомендую ознакомиться с ним и протестировать свой код. 😎



С помощью этого сервиса я сравнил время поиска элемента в списке (тип list) и в range-объекте одинаковой длины (миллион элементов). Результаты оказались очень интересными: поиск в списке выполняется примерно в 10 000 раз дольше, чем в range-объекта.



Вы знаете, почемуЭто очень интересный и важный вопрос, поскольку он затрагивает сразу два аспекта: внутреннее устройство списков и range-объектов.



#полезныйматериал #list #range #бенчмарк