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
就能看到上面酷炫的性能分析数据了
全部0条评论
快来发表一下你的评论吧 !