9 подписчиков
Общие слова Профилирование приложений — это процесс анализа программы для определения её характеристик: времени выполнения различных частей кода и использования ресурсов. Основные этапы профилирования всегда более-менее одинаковы: А как вообще работает профилировщик? Детальному обзору будет посвящена отдельная статья, пока можно ограничится базовой классификацией: Основные типы узких мест в асинхронном Python-коде Для асинхронного кода существует небольшое количество специфических "узких мест", которые лучше перечислить заранее...
6 месяцев назад
102,9K подписчиков
Профилирование Python: почему и где тормозит ваш код

Представьте ситуацию: вы написали скрипт для обработки каких-то данных на ноутбуке, ушли попить кофе, а когда пятнадцать минут спустя вернулись, завершилось едва ли 10%.

Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный?

10 месяцев назад
5,9K подписчиков
Статья подготовлена для студентов курса «Web-разработчик на Python» в образовательном проекте OTUS. Проблемы с памятью в приложениях — явление довольно частое. Правда, в Python, где работать с памятью напрямую приходится разве что при написании CPython-расширений, сталкиваться с этим приходится реже. Ещё часть рисков снимают фреймворки. Тем не менее понимать, как распределяется память в приложении, всегда полезно. Давайте посмотрим, какие возможности у нас есть на примере небольшого Django-проекта...
4 года назад