理解性能
理解性能¶
使计算快速运行的第一步是理解相关的成本。在Python中,我们经常依赖于像 CProfile模块、%%prun IPython魔法、`VMProf <https://vmprof.readthedocs.io/en/latest/>>`_ 或 `snakeviz <https://jiffyclub.github.io/snakeviz/>>`_ 这样的工具来理解与我们代码相关的成本。然而,这些工具中很少能在多线程或多进程代码上工作良好,更不用说分布在多台机器上的计算了。我们还有新的成本,如数据传输、序列化、任务调度开销等,这些可能是我们不习惯跟踪的。
幸运的是,Dask 调度器自带诊断工具,帮助你理解计算的性能特征。通过使用这些诊断工具并加以思考,我们通常可以识别出麻烦计算中的缓慢部分。
The 单机和分布式调度器 附带了 不同 的诊断工具。这些工具与各自的调度器深度集成,因此为一种调度器设计的工具不能转移到另一种调度器上。
这些页面提供了四种分析并行代码的选项:
此外,如果你有兴趣了解可能发生减速的各种阶段,你可能希望阅读以下内容: