cProfile является детерминированным профилировщиком: функции трассировки выполняются в различных точках интереса (например, вызов функции, возврат функции, исключения), и записываются точные моменты времени этих событий.Вы можете найти больше информации здесь .
Из документации : Стандартная библиотека Python предоставляет два разных профилировщика:
- cProfile рекомендуется для большинства пользователей;это расширение C с разумными издержками, что делает его пригодным для профилирования долго работающих программ.Основано на lsprof, предоставленном Бреттом Розеном и Тедом Чоттером.
- profile , чистый модуль Python, интерфейс которого имитируется cProfile.Добавляет значительные накладные расходы для профилированных программ.Если вы пытаетесь каким-то образом расширить профилировщик, задача может быть проще с этим модулем.