假设我有一个名为my_parallel_script.py
的python脚本,它涉及使用multiprocessing
并行化几个东西,并使用以下命令运行它:
python -m cProfile my_parallel_script.py
这仅为父进程生成概要分析输出。根本不记录在子进程中进行的呼叫。是否也可以分析子进程?
如果唯一的选择是修改源,那么最简单的方法是什么?
答案 0 :(得分:9)
cProfile仅适用于单个流程,因此您不会自动获取配置文件的子流程。
我建议您调整子进程代码,以便可以作为单个进程单独调用它。然后在分析器下运行它。您可能不需要在分析时运行系统多进程,并且它将简化作业以使只有一个子进程运行。