line_profiler性能分析工具简单的使用

描述

line_profiler 是一个用于对函数进行逐行分析的模块。

Python 当前的分析工具仅仅支持一个函数的时间消耗分析。

这当然是在一个程序中定位性能瓶颈的良好第一步,并且通常是优化程序所需要做的所有事情。

但是,有时性能瓶颈的原因实际上是函数中的一行代码,仅仅阅读源代码可能并不明显。

下面举个例子:访问一个提供历史上的每一天发生了什么事情的接口,获取数据之后,格式化输出打印结果即可。

下图代码中黄色的部分,占用了 99.9%的时间,总计 1.63 秒,如果每次都从接口读取数据,花费时间很多,而且接口本身也会有限制。

分析

这个时候考虑到我们自己本身的需求,这个接口是获取历史上的每一天,其实一天获取一次就够了,本地做一个缓存,如果这一天有第二次来访问的,就从本地文件读取,看下图中青色的部分,时间花费就变成了 128 微秒,足足降低了 99.9%左右的时间。

分析

line_profiler 在 pycharm 中使用需要安装插件

分析

然后安装两个第三方库

pip install line_profiler line_profiler_pycharm

使用

在你自己的脚本中导入模块

from line_profiler_pycharm import profile

分析

在函数上添加@profile装饰器即可

分析

最后点一下工具栏上的Profile Lines就能看到上面酷炫的性能分析数据了

分析

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分