Настроить Cookies
Мы используем Cookies для улучшения работы сайта
Настроить Cookies
Настройки Cookies
Файлы cookie, необходимые для корректной работы сайта, всегда включены. Другие файлы cookie можно настроить.
Основные файлы cookie
Всегда включены. Эти файлы cookie необходимы для работы веб-сайта и его функций. Их нельзя отключить. Они устанавливаются в ответ на ваши запросы, например, при настройке параметров конфиденциальности, входе в систему или заполнении форм.
Аналитические файлы cookie
Disabled
Эти файлы cookie собирают информацию, которая помогает нам понять, как используются наши веб-сайты, насколько эффективны наши маркетинговые кампании, а также помогает нам персонализировать наши веб-сайты для вас.
Рекламные файлы cookie
Disabled
Эти файлы cookie предоставляют рекламным компаниям информацию о вашей активности в интернете, чтобы помочь им показывать вам более релевантную рекламу или ограничивать количество показов рекламы. Эта информация может быть передана другим рекламным компаниям.
Профилируем код на python
Тезисы
Был я тут на одной python конференции и задал вопрос слушателям — кто как находит проблемы производительности в своем python коде. Из 35 ответивших оказалось:
  • больше половины просто читают код и находят глазами;
  • 10% вообще не сталкиваются с такими проблемами;
  • остальные используют различные профайлеры.

На этом воркшопе я бы хотел повлиять на это распределение и для этого предлагаю ознакомиться с его содержанием.

В начале мы рассмотрим применение CPU профайлинга для поиска узких мест. Посмотрим, как удобно считывать информацию при большом объеме отчетов. Как можно сначала локализовать до проблемных функций, а потом и до конкретных строк кода. В этом нам помогут такие инструменты как:
  • cProfile
  • line_profiler
  • py-spy

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

В завершении рассмотрим случай IO профайлинга для асинхронного кода, который бегает в БД и к другим сервисам. Посмотрим, насколько поддержка linux perf в python 3.12 нам поможет с этой задачей.

Каждый блок воркшопа будет сопровождаться разобранным примером и практическим заданием, которое вы сможете решить на своем ноутбуке. А по ходу задать вопросы, поделиться результатами и подискутировать на тему воркшопа с участниками и ведущим.
Был я тут на одной python конференции и задал вопрос слушателям — кто как находит проблемы производительности в своем python коде. Из 35 ответивших оказалось:
  • больше половины просто читают код и находят глазами;
  • 10% вообще не сталкиваются с такими проблемами;
  • остальные используют различные профайлеры.

На этом воркшопе я бы хотел повлиять на это распределение и для этого предлагаю ознакомиться с его содержанием.

В начале мы рассмотрим применение CPU профайлинга для поиска узких мест. Посмотрим, как удобно считывать информацию при большом объеме отчетов. Как можно сначала локализовать до проблемных функций, а потом и до конкретных строк кода. В этом нам помогут такие инструменты как:
  • cProfile
  • line_profiler
  • py-spy

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

В завершении рассмотрим случай IO профайлинга для асинхронного кода, который бегает в БД и к другим сервисам. Посмотрим, насколько поддержка linux perf в python 3.12 нам поможет с этой задачей.

Каждый блок воркшопа будет сопровождаться разобранным примером и практическим заданием, которое вы сможете решить на своем ноутбуке. А по ходу задать вопросы, поделиться результатами и подискутировать на тему воркшопа с участниками и ведущим.
Видеозапись теоретической части воркшопа
Появится здесь после конференции
Информация о спикере
Павел Филонов
Data Scientist, Независимый консультант
Руководил отделом Data Science в Kaspersky, участвовал в создании Max Patrol SIEM в PT.
Член ПК конференций PiterPy, TechTrain и C++Russia.
Преподаватель онлайн курсов OTUS.
Докладчик различных конференций:
  • Павел Филонов
    Data Scientist, Независимый консультант
    Руководил отделом Data Science в Kaspersky, участвовал в создании Max Patrol SIEM в PT.
    Член ПК конференций PiterPy, TechTrain и C++Russia.
    Преподаватель онлайн курсов OTUS.
    Докладчик различных конференций:
Внимание! Количество мест на воркшопе ограничено
Сможем принять максимум 20 участников. Регистрация на воркшоп будет открыта за неделю до начала конференции.
Все воркшопы