Архив рубрики ~Лента новостей~

Наука о данных: от школы до работы, часть V

Наука о данных: от школы до работы, часть V

Как профилировать свой проект Python

Делиться

7d433a0a61ef30f03bce112f142041bc

Заставьте его работать, затем сделайте его красивым, затем, если вам действительно, действительно нужно, сделайте его быстрым. В 90 процентах случаев, если вы сделаете его красивым, он уже будет быстрым. Так что, действительно, просто сделайте его красивым! (Источник)

— Джо Армстронг (соавторы языка программирования Erlang).

Это последняя статья о Python из серии «Наука о данных: от школы до работы». С самого начала вы узнали, как управлять своим проектом Python с помощью UV, как писать чистый код, используя принципы PEP и SOLID, как обрабатывать ошибки и использовать loguru для логирования своего кода, а также как писать тесты.

Теперь вы в состоянии создать работающий, готовый к производству код. Но код никогда не бывает идеальным и всегда может быть улучшен. Последний (необязательный, но настоятельно рекомендуемый) шаг в создании кода — оптимизация.

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

Сегодня в Python появилось так много профайлеров, что профайлер по умолчанию в Pycharm называется yappi, что означает «еще один профайлер Python».

Поэтому эта статья не является исчерпывающим списком всех существующих профилировщиков. В этой статье я представляю инструмент для каждого аспекта кода, который мы хотим профилировать: память, время и потребление CPU/GPU. Другие пакеты будут упомянуты с некоторыми ссылками, но не будут подробно описаны.

Источник: towardsdatascience.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ Нейронку БЕЗ ЦЕНЗУРЫ выпустили в открытый доступ — Gemma 4… Архив рубрики ~Коротко из Telegram~ Нашли комбайн для скачивания видео и музыки практически отовсюду —… Архив рубрики ~Коротко из Telegram~ Инструменты дня 🔍 Кьюи Перепроверяет ChatGPT, Claude и Gemini перед отправкой, потому… Архив рубрики ~Коротко из Telegram~ Kimi K3 нашла уязвимость в Redis за 27 минут Исследователь… Архив рубрики ~Коротко из Telegram~ Alibaba представила мощный движок синтеза речи Qwen-Audio-3.0-TTS Команда Qwen выпустила… Архив рубрики ~Коротко из Telegram~ Lightricks научила ИИ убирать лишних людей и машины с видео… Архив рубрики ~Коротко из Telegram~ Copilot теперь живет в «Проводнике» Windows 11 Microsoft продолжает встраивать… Архив рубрики ~Коротко из Telegram~ GitHub Copilot теперь поддерживает модель Gemini 3.6 Flash GitHub начал… Архив рубрики ~Коротко из Telegram~ Anthropic представила плагин Claude Security для поиска уязвимостей Anthropic выпустила… Архив рубрики ~Коротко из Telegram~ Cursor Router: снижение стоимости запросов к ИИ на 60% Команда… Архив рубрики ~Коротко из Telegram~ Российский разработчик СУБД Postgres Pro может сократить до 30% сотрудников…. Архив рубрики ~Коротко из Telegram~ Veon досрочно выкупил облигации на $886 млн, одновременно разместив новый… Архив рубрики ~Коротко из Telegram~ 💢 Иван Паломарес Каррaскоса (Machine Learning Mastery) разбирает пять стратегий… Архив рубрики ~Коротко из Telegram~ ✅ CEO Cloudflare Мэттью Принс на мероприятии Axios в Каннах… Архив рубрики ~Коротко из Telegram~ Нейронку БЕЗ ЦЕНЗУРЫ выпустили в открытый доступ — Gemma 4… Архив рубрики ~Коротко из Telegram~ Нашли комбайн для скачивания видео и музыки практически отовсюду —… Архив рубрики ~Коротко из Telegram~ Инструменты дня 🔍 Кьюи Перепроверяет ChatGPT, Claude и Gemini перед отправкой, потому… Архив рубрики ~Коротко из Telegram~ Kimi K3 нашла уязвимость в Redis за 27 минут Исследователь… Архив рубрики ~Коротко из Telegram~ Alibaba представила мощный движок синтеза речи Qwen-Audio-3.0-TTS Команда Qwen выпустила… Архив рубрики ~Коротко из Telegram~ Lightricks научила ИИ убирать лишних людей и машины с видео… Архив рубрики ~Коротко из Telegram~ Copilot теперь живет в «Проводнике» Windows 11 Microsoft продолжает встраивать… Архив рубрики ~Коротко из Telegram~ GitHub Copilot теперь поддерживает модель Gemini 3.6 Flash GitHub начал… Архив рубрики ~Коротко из Telegram~ Anthropic представила плагин Claude Security для поиска уязвимостей Anthropic выпустила… Архив рубрики ~Коротко из Telegram~ Cursor Router: снижение стоимости запросов к ИИ на 60% Команда… Архив рубрики ~Коротко из Telegram~ Российский разработчик СУБД Postgres Pro может сократить до 30% сотрудников…. Архив рубрики ~Коротко из Telegram~ Veon досрочно выкупил облигации на $886 млн, одновременно разместив новый… Архив рубрики ~Коротко из Telegram~ 💢 Иван Паломарес Каррaскоса (Machine Learning Mastery) разбирает пять стратегий… Архив рубрики ~Коротко из Telegram~ ✅ CEO Cloudflare Мэттью Принс на мероприятии Axios в Каннах…