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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值