python性能分析

基于cProfile统计函数级的时延,生成排序列表、火焰图,可以快速定位python代码的耗时瓶颈。参考如下博文结合实操,总结为三步:

使用 cProfile 和火焰图调优 Python 程序性能 - 知乎本来想坐下来写篇 2018 年的总结,仔细想想这一年发生的事情太多了,还是写篇技术文章吧。 前几天调试程序,发现 QPS 总是卡在 20 左右上不去。开始以为是 IO 问题,就多开了些并发,然并卵,这才想到可能是 CPU …icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/537609221. 生成prof文件

mport cProfile, pstats, io

pr = cProfile.Profile()
pr.enable()

#start your code


#end your code
pr.disable()
pr.dump("./test.prof")

2. 统计时延分布列表:

import pstats

profiler = pstats.Stats('test.prof')
profiler.strip_dirs()
profiler.sort_stats('cumulative')
profiler.print_stats()

效果如下图:

3. 生成火焰图

安装工具:pip3 install flameprof

运行:flameprof test.prof > test.svg

你可能感兴趣的:(python基础,python,开发语言)