有时候发现自己写的Python代码运行的很慢,但是又找不到到底是哪里导致程序运行速度缓慢,这个时候需要对程序进行性能分析。Python中的cProfile模块可以生成程序运行的火焰图,检测哪里效率低下,方便更好的修改程序代码。
在使用之前需要安装flameprof库和cProfile库,安装的路径自己需要知道。
pip install flameprof
pip install cProfile
安装好之后,使用方法如下:
import cProfile # 把需要 profile 的代码放到 pr.enable 和 pr.disable 中间
if __name__ == '__main__':
pr = cProfile.Profile()
pr.enable() # 开始收集性能分析数据
main()
pr.disable() # 停止收集性能分析数据
pr.dump_stats(r"F:\pipe1.prof") # 把当前性能分析的内容写入一个文件
调用flameprof将得到的文件生成火焰图,windows下调用命令行过程如下:
其中路径“E:\Anaconda3.7\Lib\site-packages”为flameprof库安装的路径。