@geisha

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

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

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

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

Войти через центр авторизации
Похожие вопросы