理解性能
理解性能¶
要使计算快速运行,第一步是理解其中涉及的成本。在 Python 中,我们经常依赖诸如 CProfile 模块、%%prun IPython magic、VMProf 或 snakeviz 等工具来理解代码相关的成本。然而,这些工具中很少有能很好地作用于多线程或多进程代码,更不用说分布在多台机器上的计算了。此外,我们还有一些可能不习惯跟踪的新成本,例如数据传输、序列化、任务调度开销等等。
幸运的是,Dask 调度器提供了诊断工具,可以帮助您了解计算的性能特征。通过使用这些诊断工具并稍加思考,我们通常可以找出棘手计算中的缓慢部分。
单机和分布式调度器 提供不同的诊断工具。这些工具深度集成到各自的调度器中,因此为其中一个设计的工具无法直接用于另一个。
这些页面提供了四种并行代码分析选项
此外,如果您有兴趣了解可能发生减速的各种阶段,您可能希望阅读以下内容