Веб-версияОткрыть в Telegram

Пост📊 Шпаргалка по Python-профайлингу: как найти узкие места в коде

2 июня 2025
P
Python RU
📊 Шпаргалка по Python-профайлингу: как найти узкие места в коде Разбираем 4 мощных инструмента для анализа производительности и памяти в Python. 🧠 `cProfile` — встроенный профайлер времени ✅ Показывает, сколько времени тратится на каждую функцию ✅ Идеально для быстрого анализа python -m cProfile your_script.py Форматированный вывод с pstats: python -m cProfile -o result.prof your_script.py python -m pstats result.prof Для Jupyter: %load_ext cprofile %cprofile some_function() 🐍 py-spy — суперлёгкий sampling-профайлер ✅ Не требует изменений в коде ✅ Работает с чужими процессами ✅ Без тормозов, можно запускать в проде py-spy top --pid <PID> py-spy record -o profile.svg -- python your_script.py 👉 Показывает flame graph: удобная визуализация bottleneck-функций. 🔥 `Scalene` — профайлинг CPU, памяти и аллокаций ✅ Отслеживает: - сколько времени тратит CPU - где происходят аллокации - сколько памяти реально используется pip install scalene scalene your_script.py 👉 Выделяет проблемные строки, показывает выделение памяти по строчкам кода, а не только по функциям. 🧮 `memory_profiler` — анализ использования памяти ✅ Показывает, сколько памяти потребляет каждая строка ✅ Полезен для data science скриптов pip install memory-profiler Добавь декоратор: from memory_profiler import profile @profile def my_func(): ... Запуск: python -m memory_profiler your_script.py 💡 Как выбрать? | Инструмент | Что профилирует | Подходит для | |--------------------|----------------------|------------------------------| | `cProfile` | Время (встроенно) | Быстрый старт, базовый анализ | | `py-spy` | Время (sampling) | Прод, чужие процессы, flame graphs | | `Scalene` | Время + память + аллокации | Глубокий анализ по строкам | | `memory_profiler` | Только память | Data science, отладка RAM |
❤7👍4🔥1
40 · 1.7K ·

Рядом в ленте

PPython RU👉 Удаление фона изображения на PythonPPython RU🐳 Зачем и как контейнеризировать Python-приложения? Контейнеризация — не просто модный DevOps-термин. Это способ упаковать твоё Python-приложение так, чтобы оно
это сообщение
PPython RUСРОЧНО❗️Закидываем мастхев-каналы для Python и Java разработчиков. ➡️Прокачай свои хард-скиллы на максимум: Pythoner и Javer ➡️Сотни гигов платных материалов, кPPython RU🎯 5 ИИ-проектов, которые ты можешь собрать за выходные Хочешь прокачать навыки ML и Python без математики и Kaggle? Лови 5 готовых идей, которые можно собрать з

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем