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
就能看到上面酷炫的性能分析数据了
-
分析
+关注
关注
2文章
134浏览量
33299 -
函数
+关注
关注
3文章
4322浏览量
62514 -
python
+关注
关注
56文章
4788浏览量
84542
发布评论请先 登录
相关推荐
鸿蒙开发-DevEco Studio Profiler工具进行帧率分析
工作中使用Trepn Power Profiler的应用总结
使用Trepn Profiler中的应用状态功能查找应用问题
使用Trepn Profiler工具分析Dragonboard410c的功耗和性能
Trepn Power Profiler工具的简单操作
Qualcomm Trepn Power Profiler常见问题分析总结
使用Snapdragon Profiler工具分析Dragonboard410c
三种提高Python代码性能的简便方法
使用Motor Profiler测试电机性能
有没有基于Windows的MOTOR PROFILER工具?
【威廉希尔官方网站 视界】鸿蒙开发套件之DevEco Profiler助您轻松分析应用性能问题
功耗分析臻至入微:Trepn Profiler V6.1更新
Unity Profiler分析内存使用状况疑问解答
![Unity <b class='flag-5'>Profiler</b><b class='flag-5'>分析</b>内存使用状况疑问解答](https://file.elecfans.com/web1/M00/AF/DB/pIYBAF3k3oqALmCMAACXggE_JQY123.jpg)
如何使用QML Profiler来分析QML应用
【威廉希尔官方网站 视界】鸿蒙开发套件之DevEco Profiler助您轻松分析应用性能问题
![【威廉希尔官方网站
视界】鸿蒙开发套件之DevEco <b class='flag-5'>Profiler</b>助您轻松<b class='flag-5'>分析</b>应用<b class='flag-5'>性能</b>问题](https://file1.elecfans.com//web2/M00/A3/2A/wKgZomUD23iASJ_fAAHteYla2Hk986.png)
评论