11

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

python -m cProfile my_parallel_script.py

这只会为父进程生成分析输出。在子进程中进行的调用根本不会被记录。是否也可以分析子进程?

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

4

1 回答 1

10

cProfile 仅适用于单个进程,因此您不会自动获取子进程的概要文件。

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

于 2009-09-11T01:11:09.320 回答