python性能分析:cProfile和line_profile搭配使用

本文介绍了在Python性能调试中,如何结合使用cProfile和line_profiler进行性能分析。cProfile主要分析函数级别的耗时,而line_profiler则能细化到每一行代码的执行时间。通过cProfile找出耗时最多的函数,再用line_profiler定位具体性能瓶颈,实现高效优化。
摘要由CSDN通过智能技术生成

python性能调试过程中最突出的问题就是耗时,性能测试工具有很多,这里介绍cprofile和line_profiler的搭配使用方法。前者返回项目中每个函数的耗时,后者可以分析函数每一行的耗时。

一,cProfile

  • cProfile是python默认的性能分析器
  • cProfile是一种确定性分析器,只测量CPU时间,并不关心内存消耗和其他与内存相关联的信息。

参数分析:

run(statement, filename=None, sort=-1)
# statement: 需要测试的代码或者函数(函数名)
# fielname: 结果保存的位置, 默认为stdout
# sort: 结果排序方法,常用的有‘cumtime': 累积时间, ’name': 函数名, ‘line': 行号
# 以及下面结果分析里的’ncalls'等

使用方法一:

import re
import cProfile

cProfile.run('re.compile("abc")')

结果分析:
返回的结果

  • 第一行:129个函数调用被监控,其中128个是原生调用(不涉及递归)
  • ncalls:函数
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值