假设我有一个名为 my_parallel_script.py 的python脚本,它涉及使用 multiprocessing 并行化几个东西,并使用以下命令运行它:

python -m cProfile my_parallel_script.py

这仅为父进程生成概要分析输出。根本不记录在子进程中进行的呼叫。是否也可以分析子进程?

如果唯一的选择是修改源,那么最简单的方法是什么?

有帮助吗?

解决方案

cProfile仅适用于单个流程,因此您不会自动获取配置文件的子流程。

我建议您调整子进程代码,以便可以作为单个进程单独调用它。然后在分析器下运行它。您可能不需要在分析时运行系统多进程,并且它将简化作业以使只有一个子进程运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top