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