Для CPU-профилирования подходят cProfile и sampling-профилировщики, для памяти — tracemalloc и специализированные инструменты. Выбор зависит от того, ищете ли вы CPU, I/O-ожидание или рост памяти.
Какие инструменты профилирования в Python вы знаете?
Для CPU-профилирования подходят cProfile и sampling-профилировщики, для памяти — tracemalloc и специализированные инструменты. Выбор зависит от того, ищете ли вы CPU, I/O-ожидание или рост памяти.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для CPU-профилирования подходят cProfile и sampling-профилировщики, для памяти — tracemalloc и специализированные инструменты. Выбор зависит от того, ищете ли вы CPU, I/O-ожидание или рост памяти.
cProfile показывает вызовы и время Python-функций, sampling снимает периодические стеки, tracemalloc помогает сравнить Python-аллокации. Native-буферы и память расширений могут требовать других измерений. Сначала воспроизведите нагрузку и определите метрику; учитывайте накладные расходы профайлера и не выгружайте чувствительные данные.