Совокупное время отдельной функции превышает время выполнения всей программы.Python

Программы на Python
Ответить
Anonymous
 Совокупное время отдельной функции превышает время выполнения всей программы.

Сообщение Anonymous »

Я пытался профилировать многопоточную асинхронную программу. Сначала я начал с cProfile, потому что у меня не так много опыта работы с Python, но когда я получил странные/противоречивые результаты, я провел небольшое исследование и узнал, что cProfile будет профилировать только основной поток, поэтому мне нужен yappi, который должен профилировать все потоки и асинхронные вызовы.
Я вызывал профилировщики следующим образом:

Код: Выделить всё

$ python -m cProfile -m mymodule.main args

Код: Выделить всё

$ python -m yappi -o profile -tpstat src/mymodule/main.py args
и в обоих случаях я получаю странные результаты; общее время выглядит хорошо - если я суммирую все общее время, оно будет равно времени выполнения программы, которое было указано в верхней части вывода как «X вызовов функций за Y секунд» - но большое количество вызовов функций будет показывать число, намного большее, чем Y для их совокупного времени. Даже если он говорит, что за 700 секунд было выполнено X вызовов функций, он скажет, что совокупное время некоторой функции составляет 1800 секунд.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ire-progra
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»