0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么用模块来观察代码性能表现

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-21 10:53 次阅读

图片

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

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

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

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

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

**(可选1) **如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

**(可选2) **此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖

  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

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

图片

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

图片

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

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

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,检测到底是哪一行代码出了问题并优化你的代码吧!

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

    关注

    7

    文章

    2705

    浏览量

    47464
  • 代码
    +关注

    关注

    30

    文章

    4787

    浏览量

    68589
  • 编辑器
    +关注

    关注

    1

    文章

    806

    浏览量

    31169
  • python
    +关注

    关注

    56

    文章

    4796

    浏览量

    84668
收藏 人收藏

    评论

    相关推荐

    电源对整个电路性能的影响表现在哪些方面?

    电源对整个电路性能的影响表现在哪些方面?
    发表于 01-08 23:21

    关于pid调节过程,请问都是什么软件观察波形的变化,求指教

    关于pid调节过程,都是什么软件观察波形的变化,求指教
    发表于 08-04 20:52

    示波器观察输出波形

    目录一、参考资料本文内容:熟悉脉冲宽度调制 (PWM) 和数模 / 模数转换原理 STM32F103 输出一路 PWM 波形,建议采用定时器方法,示波器观察输出波形。一、
    发表于 08-09 08:15

    topas命令是怎样表现系统各项指标性能

    topas命令是怎样表现系统各项指标性能的?求解答
    发表于 10-19 10:04

    单片机控制SIM900模块发送彩信的程序代码

    这是我单片机控制SIM900模块发送彩信的程序代码 ,可用这个程序中的函数来发送指定的一幅图片。
    发表于 11-20 16:06 18次下载

    GB-T 24823-2009普通照明LED模块性能要求

    GB-T 24823-2009普通照明LED模块性能要求
    发表于 11-20 17:54 5次下载

    70行代码打造MCU性能分析利器!

    改善性能可以改进代码的写法或算法,这就要结合实际问题,各显神通了。
    的头像 发表于 07-12 14:52 4143次阅读

    vivoZ1全面评测 表现可以越级形容

    Z1,产品一经发布就受到了多家媒体以及用户的盛赞。下面我们就Z1的表现一次全方位测评,看看它的表现究竟有多出色。
    的头像 发表于 06-21 15:22 4179次阅读

    Google 面馆代码拉面

    代码不止,活力不止! 谷歌面馆正式营业 想体验一把拉面大师的快感? 谷歌面馆体验虚拟拉面 劳逸结合身心更健康 连续六天的谷歌开发者大会不仅带来了满满的技术干货,更鼓励日夜与代码奋战的开发者们
    的头像 发表于 11-18 09:43 1339次阅读

    EE-132:VisualDSP++™将C代码和数据模块放入SHARC存储器

    EE-132:VisualDSP++™将C代码和数据模块放入SHARC存储器
    发表于 04-17 17:00 1次下载
    EE-132:<b class='flag-5'>用</b>VisualDSP++™将C<b class='flag-5'>代码</b>和数据<b class='flag-5'>模块</b>放入SHARC存储器

    DC电源模块生产用料扎实的表现

    随着现代科技的不断发展,DC电源模块已经被广泛应用于各种电子设备中。不同于其它电子元器件,DC电源模块生产所需用料的扎实程度对其性能的影响非常大。下面,本文将就DC电源模块生产用料扎实
    的头像 发表于 08-16 13:29 523次阅读

    DC电源模块在稳定电压输出的表现有哪些?

    的电压输出是DC电源模块最重要的特性之一。下面将从多个方面介绍DC电源模块在稳定电压输出方面的表现。 DC电源模块 1. 稳定性能 DC电源
    的头像 发表于 08-31 10:16 1125次阅读
    DC电源<b class='flag-5'>模块</b>在稳定电压输出的<b class='flag-5'>表现</b>有哪些?

    基于观察者模式设计的框架-REB,使代码模块

    设计模式里面的观察者模式,一直是作者想去设计一套框架阐述这一个模式,因此REB(Rice Event Broker)就是为了完成观察者模式的一个框架。 观察者模式 聊REB之前,我们
    的头像 发表于 10-17 09:35 663次阅读
    基于<b class='flag-5'>观察</b>者模式设计的框架-REB,使<b class='flag-5'>代码</b><b class='flag-5'>模块</b>化

    python 使用Dis模块进行代码性能剖析

    就像一个黑匣子,很多时候我们不知道python内部是怎样执行代码的,而且DEBUG的时候也没有机器指令可以查看,非常不利于代码优化。但是没关系,现在我们有Dis模块
    的头像 发表于 11-03 15:39 576次阅读
    python 使用Dis<b class='flag-5'>模块</b>进行<b class='flag-5'>代码</b><b class='flag-5'>性能</b>剖析

    怎么示波器观察信号毛刺?

    信号毛刺是指信号中出现的突然幅度变化,通常表现为信号波形上的尖峰或震荡。这种现象可能会导致电子设备的不稳定性,甚至影响设备的正常运行。为了准确观察信号毛刺并找出其原因,使用示波器是一种常见的方法。本文将介绍如何使用示波器观察信号
    的头像 发表于 12-26 15:04 1416次阅读
    怎么<b class='flag-5'>用</b>示波器<b class='flag-5'>观察</b>信号毛刺?