Python多输入的性能分析及平均结果
我有几个不同的输入文件要用一个Python脚本来处理,调用的方式是这样的:
./myscript.py myfile1
./myscript.py myfile2
./myscript.py myfile3
...
我可以使用 python -m cProfile -s ./myscript.py myfile1
来逐个文件地分析代码的性能。不过,问题是根据不同的输入文件,代码运行时耗费的时间会集中在完全不同的地方。
我想出的几种方法来分析所有输入文件的性能是:第一种是简单粗暴,写一个bash脚本,依次调用 python -m cProfile -s ./myscript.py myfile
来处理每个 myfile
,然后解析输出结果;第二种是在Python内部解析cProfile的结果。
我该如何对 myscript.py
进行分析,以便对 所有 输入文件的结果进行平均,这样我就能大致知道哪些地方是性能瓶颈?
1 个回答
1
这件事发生在很久以前,但我最后找到的解决办法是写一些简单又粗糙的脚本,使用了python的cProfile、awk、grep和bash这几种工具。第一个(主要的)脚本负责索引文件,并调用其他脚本;第二个脚本对一个输入文件运行python cProfile,并把输出格式化成容易解析的样子;第三个脚本则把结果合并在一起。