Какова взаимосвязь между процессорным временем, измеренным профилировщиком Python, и реальным, пользовательским и системным временем?

При использовании встроенного профилировщика python со скриптом, выполняющимся на одном процессоре (и без многопоточности)

time python -m cProfile myscript.py

, время ЦП, сообщаемое профилировщиком, составляет 345,710 секунд ЦП

24184348 function calls (24183732 primitive calls) in 345.710 CPU seconds

и реальное , пользовательское и системное время:

real    5m45.926s
user    1m59.340s
sys     0m39.452s

Как вы можете видеть, время ЦП почти соответствует реальному времени ( 345,710 = 5 м 45,710 с).

Итак, учитывая этот результат, можно ли предположить, что время ЦП, сообщаемое профилировщиком, включает в себя временные интервалы, используемые другими процессами, и время, которое процесс затрачивает на блокировку? то есть время процессора профилировщика - это не время процесса (пользователь + система), а время настенных часов, как это объясняется в Что означают «real», «user» и «sys» на выходе time (1)?

Заранее большое спасибо

12
задан Community 23 May 2017 в 12:26
поделиться