0

我有一个使用函数parallel_map 的脚本文件。( qutip.parallel.parallel_map 的源代码)来自QuTiP包。正如人们在单击该函数的源代码时所看到的那样,它使用了 python 的多进程模块。我查看了这个问题的串行版本的答案。我决定Snakeviz阅读zaxiliu 的解决方案。但是在我的代码上天真地尝试它失败了。那么我必须做什么来分析我的代码?我的心不在Snakeviz上。我不介意使用任何其他图形工具。

4

1 回答 1

0

不完全满足问题要求,但如果没有其他可用的,将起作用

尝试使用来自同一模块的 serial_map 而不是 parallel_map 。替换(或更好地注释掉)该行

从 qutip.parallel 导入 parallel_map

从 qutip.parallel 导入 serial_map

现在您有了代码的串行实现。这可以使用您的问题的串行版本中描述的那些进行分析。在此之后(假设您继续使用Snakeviz

  • 制作配置文件

    python -m cProfile -o program.prof my_program.py

  • 在上一步生成的配置文件上运行Snakeviz

    蛇形程序.prof

于 2019-09-13T17:36:24.547 回答