我有一个使用函数parallel_map的脚本文件。 ( qutip.parallel.parallel_map 的源代码( 来自软件包 QuTiP .正如人们在单击函数的源代码时所看到的那样,它使用了 python 的多进程模块。 我看了这个问题的连续版本的答案。我决定让Snakeviz阅读zaxiliu的解决方案。 但是天真地在我的代码上尝试它失败了。那么我必须怎么做才能分析我的代码呢?我的心不是放在Snakeviz身上。 我不介意使用任何其他图形工具。
不能完全满足问题要求,但在没有其他可用的情况下将起作用
尝试使用serial_map而不是同一模块中的parallel_map。 替换(或更好地注释掉(该行
从 qutip.parallel import parallel_map
跟
从 qutip.parallel import serial_map
现在,您已经有了代码的串行实现。这可以使用您问题的串行版本中描述的内容进行描述。 在此之后(假设你继续使用Snakeviz(
-
制作配置文件
python -m cProfile -o program.prof my_program.py
-
在上一步中生成的配置文件上运行 Snakeviz
Snakeviz program.Prof