Профилирующий Python, содержащий распараллеливание Dask - PullRequest
0 голосов
/ 07 ноября 2019

Я реализовал dask.delayed () для распараллеливания своего проекта, и в результате я больше не получаю полезную информацию при профилировании моего проекта с помощью cProfile - большую часть времени в профиле теперь учитывается как {method 'acquire' of '_thread.lock' objects}, чтоничего не говорит мне о времени, затрачиваемом на фактические вызываемые функции.

Если не считать переписывания сценария для временного отключения Dask, существует ли другой метод профилирования, который дает информацию о времени выполнениявызываемые функции?

1 Ответ

1 голос
/ 07 ноября 2019

Лучше всего использовать распределенный планировщик и вкладку профилирования на его панели управления. Подробности в этой документации . Обратите внимание, что профилировщик статистический : он регулярно отбирает стеки вызовов каждого рабочего потока и строит отображение на основе этой информации.

...