TG Telegram Group & Channel
Python RU | United States America (US)
Create: Update:

📊 Шпаргалка по 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 |

📊 Шпаргалка по 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 |


>>Click here to continue<<

Python RU




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)