Задать вопрос
@geisha

Как правильно профайлить питон?

Есть большая медленная библиотека (БМБ) и скрипт на питоне использующий БМБ. В библиотеке большинство медленных функций отданы в модули на C. Когда профайлишь скрипт с помощью cProfile, то учитывается только время интерпретатора. В результате получается, двух-минутный скрипт (якобы) работал только 0.5с (cumtime). Необходимо, чтобы cumtime учитывал фактическое время, в том числе и вне интерпретатора. Как это сделать?
  • Вопрос задан
  • 241 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Dronablo
Oracle performance geek
Вероятно, вам может помочь такая штука как Flamegraph.
Ответ написан
Комментировать
@geisha Автор вопроса
Изменил счетчик времени на time.time:
pr = cProfile.Profile(time.time)
pr.runcall(slow_function)

Вроде то, что надо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы