我有几个不同的 Python 脚本输入,我以以下形式调用它们:
./myscript.py myfile1
./myscript.py myfile2
./myscript.py myfile3
...
我可以使用 python -m cProfile -s ./myscript.py myfile1
对任何一个输入文件的每个函数的代码进行分析。不幸的是,根据输入文件的不同,时间花在代码的完全不同部分。
我对所有输入的代码进行分析的粗略想法是(1)快速而肮脏,编写一个 bash 脚本来调用 python -m cProfile -s ./myscript.py myfile
对于每个 myfile
,并解析输出或 (2) 在 python 本身内解析 cProfile 结果。
我如何配置myscript.py
对于我的所有输入文件,并对结果进行平均,这样我就知道热点一般在哪里?
最佳答案
这是很久以前的事了,但我最终采取的解决方案是使用 python cProfile、awk、grep 和 bash 的组合来编写快速且非常脏的脚本。第一个(主)脚本对文件进行索引并调用其他脚本,第二个脚本在(一个)输入文件上运行 python cProfile 并格式化输出以便于解析,第三个脚本组合结果。
关于用于多个输入和平均结果的 Python 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24895195/