Производительность: профилирование
Python
Senior
Яндекс
Как вы профилируете производительность Python-кода на уровне CPU и на уровне высокоуровневых вызовов? Какие инструменты/модули используете?
Ответы
Профилирование
Для высокоуровневого профилирования часто используют:
- `cProfile`/`profile` + `pstats`;
- `line_profiler` для построчного анализа;
- `py-spy`, `yappi`, `scalene` для более детального сбора.
Пример использования `cProfile`:
```python
import cProfile
import pstats
with cProfile.Profile() as pr:
main()
stats = pstats.Stats(pr).sort_stats('tottime')
stats.print_stats(20)
```