神奇!这个模块能像观察心率一样观察 Python 代码性能表现

FightingCoder

共 2418字,需浏览 5分钟

 ·

2023-01-16 19:50

这是「进击的Coder」的第 790  篇技术分享 作者:Ckend 来源:Python 实用宝典

阅读本文大概需要 4 分钟。



e1d553c24602860b066a49e204cf338e.webp

这个神奇的模块能让你实时可视化地观察 Python 程序执行时每一行代码的性能表现。

左边的数字是每行被击中的次数。条形显示最近被击中的次数,较长的条意味着其被击中的次数更多。

颜色的深浅代表着命中的时间与当前时间的距离,颜色越浅代表离当前时间越近。

下面就来教大家怎么用这个模块来观察你的代码性能表现。

1.准备


开始之前,你要确保 Python 和 pip 已经成功安装在电脑上

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+ 空格输入 Terminal)。
3. 如果你用的是 VSCode 编辑器或 Pycharm,可以直接使用界面下方的 Terminal.

      
        pip install --user heartrate
      
    

支持 Python3.5 及以上版本。

2.基本使用


这个模块用起来超级简单,你只需要在代码里添加下面这两行语句即可:

      
        import heartrate
heartrate.trace(browser=True)

然后打开浏览器窗口,访问:127.0.0.1:9999

就能看到相关的代码性能表现:

b1dd5cd161589fda51e4b22df7488f2c.webp

通过Heartrate,我可以很清楚地知道我的代码的瓶颈在哪:

5ade06a9e1150287b81c88146056621c.webp

左边柱子越长,说明命中次数越多。

白色柱子越频繁出现,说明该行语句存在非常影响性能的问题。

3.高级用法


除了追踪启动 Heartrate 程序的文件代码之外,Heartrate 还能追踪其他文件的运行情况,如果你的文件 引入了其他文件下的函数,它也能一起追踪:

      
        from heartrate import trace, files
trace(files=files.path_contains('my_app', 'my_library'))

你只需要这么调用即可追踪其他路径下的文件的代码执行情况。

如果你想追踪全部文件:

      
        from heartrate import trace, files
trace(files=files.all)

这么写即可一劳永逸,不过不建议在生产环境这么用,最好是只用于性能测试。

如果你的代码有性能瓶颈,而你又找不到问题出在哪。那么就快去试一下 heartrate,检测到底是哪一行代码出了问题并优化你的代码吧!

我们的文章到此就结束啦,我们下期再见,Respect!

3d7b3599ac8740f448a4d6bdb9e36905.webp

End

崔庆才的新书《Python3网络爬虫开发实战(第二版)》已经正式上市了!书中详细介绍了零基础用 Python 开发爬虫的各方面知识,同时相比第一版新增了 JavaScript 逆向、Android 逆向、异步爬虫、深度学习、Kubernetes 相关内容,‍同时本书已经获得 Python 之父 Guido 的推荐,目前本书正在七折促销中!

内容介绍:《Python3网络爬虫开发实战(第二版)》内容介绍


c39841cf14e41b7d6e6833bd1c06d4a5.webp


扫码购买




好文和朋友一起看~
浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报