профиль cProfile вызывает внутри потоков? - PullRequest
4 голосов
/ 26 марта 2010

Я запустил cprofile с небольшим количеством кода, который, помимо прочего, порождает несколько потоков, которые выполняют большую часть работы. Когда я посмотрел на результаты профилирования, я не увидел регистрации всех функций, которые были вызваны внутри потоков. Я уверен, что они были вызваны, поскольку они делают вещи, которые легко увидеть, такие как запись в БД и т. Д.

Разве cProfile не профилирует темы? Я что-то упустил?

1 Ответ

7 голосов
/ 26 марта 2010

Нашел ответ здесь: ссылка

Стоит отметить, что использование профилировщика работает (по умолчанию) только в основном потоке, и вы не получите никакой информации из других потоков, если будете их использовать. Это может быть немного затруднительно, поскольку это совершенно не упоминается в документации профилировщика. Если вы также хотите профилировать потоки, вам нужно посмотреть на функцию threading.setprofile () в документации.

...