分析 Python 包含 Dask 并行化

Profiling Python containing Dask parallelization

我已经实施了 dask.delayed() 来并行化我的项目,因此我不再通过使用 cProfile 分析我的项目获得有用的信息 - 分析中的大部分时间现在被认为是{method 'acquire' of '_thread.lock' objects} 这并没有告诉我任何关于调用实际函数所花费的时间。

除了重新编写脚本以暂时禁用 Dask 之外,是否有另一种分析方法可以提供有关被调用函数的 运行 次的信息?

最好的办法是使用分布式调度程序及其仪表板的分析选项卡。详细信息在 this documentation 中。请注意,探查器是统计:它定期对每个工作线程的调用堆栈进行采样,并根据该信息构建显示。