Python 2.7 分析调用并行外部程序的Python程序

Python 2.7 分析调用并行外部程序的Python程序,python-2.7,multiprocessing,external-process,cprofile,Python 2.7,Multiprocessing,External Process,Cprofile,类似于关于……的这个问题 我需要分析我的代码库,我计划使用cProfile。这个程序本质上是一个并行运行评估函数的遗传算法。更重要的是,这个求值函数通过命令行从外部调用另一个Python程序 是否可以使用cProfile来分析整个运行?基本上,我打算在我的worker函数中启动评测(累计时间、pcall、内存开销等),但是我担心外部程序对分析器不可见。您认为外部程序对分析器不可见是正确的。cProfile模块为代码添加软件挂钩,在函数调用或返回等事件中触发各种计数器。您将能够看到对subproc

类似于关于……的这个问题

我需要分析我的代码库,我计划使用cProfile。这个程序本质上是一个并行运行评估函数的遗传算法。更重要的是,这个求值函数通过命令行从外部调用另一个Python程序


是否可以使用cProfile来分析整个运行?基本上,我打算在我的worker函数中启动评测(累计时间、pcall、内存开销等),但是我担心外部程序对分析器不可见。

您认为外部程序对分析器不可见是正确的。cProfile模块为代码添加软件挂钩,在函数调用或返回等事件中触发各种计数器。您将能够看到对
subprocess.call()
的调用或用于执行外部命令的任何内容,但您将看不到有关外部命令执行的任何详细信息。您将能够看到调用被阻止了多长时间,因此您将了解执行外部命令需要多长时间,但您无法获得它们的分析细节


也就是说,您没有理由不能将cProfile模块添加到被调用的脚本中,并且您将获得主脚本和被调用的外部脚本的概要文件结果。它们只是不在同一个文件中。

这就是我最终要做的。我只是检测了对cProfile的外部调用,以便只查看该模块。