0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么用模塊來觀察代碼性能表現(xiàn)

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-21 10:53 ? 次閱讀

圖片

這個神奇的模塊能讓你實時可視化地觀察Python程序執(zhí)行時每一行代碼的性能表現(xiàn)。

左邊的數(shù)字是每行被擊中的次數(shù)。條形顯示最近被擊中的次數(shù),較長的條意味著其被擊中的次數(shù)更多。

顏色的深淺代表著命中的時間與當(dāng)前時間的距離,顏色越淺代表離當(dāng)前時間越近。

下面就來教大家怎么用這個模塊來觀察你的代碼性能表現(xiàn)。

1.準(zhǔn)備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進行安裝。

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細(xì)指南。

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
  2. MacOS 環(huán)境 打開 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

就能看到相關(guān)的代碼性能表現(xiàn):

圖片

通過Heartrate,我可以很清楚地知道我的代碼的瓶頸在哪:

圖片

左邊柱子越長,說明命中次數(shù)越多。

白色柱子越頻繁出現(xiàn),說明該行語句存在非常影響性能的問題。

3.高級用法

除了追蹤啟動Heartrate程序的文件代碼之外,Heartrate還能追蹤其他文件的運行情況,如果你的文件引入了其他文件下的函數(shù),它也能一起追蹤:

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

你只需要這么調(diào)用即可追蹤其他路徑下的文件的代碼執(zhí)行情況。

如果你想追蹤全部文件:

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

這么寫即可一勞永逸,不過不建議在生產(chǎn)環(huán)境這么用,最好是只用于性能測試。

如果你的代碼有性能瓶頸,而你又找不到問題出在哪。那么就快去試一下heartrate,檢測到底是哪一行代碼出了問題并優(yōu)化你的代碼吧!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2630

    瀏覽量

    47232
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4700

    瀏覽量

    68117
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    799

    瀏覽量

    31022
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4759

    瀏覽量

    84309
收藏 人收藏

    評論

    相關(guān)推薦

    電源對整個電路性能的影響表現(xiàn)在哪些方面?

    電源對整個電路性能的影響表現(xiàn)在哪些方面?
    發(fā)表于 01-08 23:21

    關(guān)于pid調(diào)節(jié)過程,請問都是什么軟件觀察波形的變化,求指教

    關(guān)于pid調(diào)節(jié)過程,都是什么軟件觀察波形的變化,求指教
    發(fā)表于 08-04 20:52

    示波器觀察輸出波形

    目錄一、參考資料本文內(nèi)容:熟悉脈沖寬度調(diào)制 (PWM) 和數(shù)模 / 模數(shù)轉(zhuǎn)換原理 STM32F103 輸出一路 PWM 波形,建議采用定時器方法,示波器觀察輸出波形。一、
    發(fā)表于 08-09 08:15

    topas命令是怎樣表現(xiàn)系統(tǒng)各項指標(biāo)性能

    topas命令是怎樣表現(xiàn)系統(tǒng)各項指標(biāo)性能的?求解答
    發(fā)表于 10-19 10:04

    單片機控制SIM900模塊發(fā)送彩信的程序代碼

    這是我單片機控制SIM900模塊發(fā)送彩信的程序代碼 ,可用這個程序中的函數(shù)來發(fā)送指定的一幅圖片。
    發(fā)表于 11-20 16:06 ?18次下載

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

    GB-T 24823-2009普通照明LED模塊性能要求
    發(fā)表于 11-20 17:54 ?5次下載

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

    改善性能可以改進代碼的寫法或算法,這就要結(jié)合實際問題,各顯神通了。
    的頭像 發(fā)表于 07-12 14:52 ?4104次閱讀

    vivoZ1全面評測 表現(xiàn)可以越級形容

    Z1,產(chǎn)品一經(jīng)發(fā)布就受到了多家媒體以及用戶的盛贊。下面我們就Z1的表現(xiàn)一次全方位測評,看看它的表現(xiàn)究竟有多出色。
    的頭像 發(fā)表于 06-21 15:22 ?4120次閱讀

    Google 面館代碼拉面

    代碼不止,活力不止! 谷歌面館正式營業(yè) 想體驗一把拉面大師的快感? 谷歌面館體驗虛擬拉面 勞逸結(jié)合身心更健康 連續(xù)六天的谷歌開發(fā)者大會不僅帶來了滿滿的技術(shù)干貨,更鼓勵日夜與代碼奮戰(zhàn)的開發(fā)者們
    的頭像 發(fā)表于 11-18 09:43 ?1314次閱讀

    EE-132:VisualDSP++?將C代碼和數(shù)據(jù)模塊放入SHARC存儲器

    EE-132:VisualDSP++?將C代碼和數(shù)據(jù)模塊放入SHARC存儲器
    發(fā)表于 04-17 17:00 ?1次下載
    EE-132:<b class='flag-5'>用</b>VisualDSP++?將C<b class='flag-5'>代碼</b>和數(shù)據(jù)<b class='flag-5'>模塊</b>放入SHARC存儲器

    DC電源模塊生產(chǎn)用料扎實的表現(xiàn)

    隨著現(xiàn)代科技的不斷發(fā)展,DC電源模塊已經(jīng)被廣泛應(yīng)用于各種電子設(shè)備中。不同于其它電子元器件,DC電源模塊生產(chǎn)所需用料的扎實程度對其性能的影響非常大。下面,本文將就DC電源模塊生產(chǎn)用料扎實
    的頭像 發(fā)表于 08-16 13:29 ?478次閱讀

    DC電源模塊在穩(wěn)定電壓輸出的表現(xiàn)有哪些?

    的電壓輸出是DC電源模塊最重要的特性之一。下面將從多個方面介紹DC電源模塊在穩(wěn)定電壓輸出方面的表現(xiàn)。 DC電源模塊 1. 穩(wěn)定性能 DC電源
    的頭像 發(fā)表于 08-31 10:16 ?1034次閱讀
    DC電源<b class='flag-5'>模塊</b>在穩(wěn)定電壓輸出的<b class='flag-5'>表現(xiàn)</b>有哪些?

    基于觀察者模式設(shè)計的框架-REB,使代碼模塊

    設(shè)計模式里面的觀察者模式,一直是作者想去設(shè)計一套框架闡述這一個模式,因此REB(Rice Event Broker)就是為了完成觀察者模式的一個框架。 觀察者模式 聊REB之前,我們
    的頭像 發(fā)表于 10-17 09:35 ?604次閱讀
    基于<b class='flag-5'>觀察</b>者模式設(shè)計的框架-REB,使<b class='flag-5'>代碼</b><b class='flag-5'>模塊</b>化

    python 使用Dis模塊進行代碼性能剖析

    就像一個黑匣子,很多時候我們不知道python內(nèi)部是怎樣執(zhí)行代碼的,而且DEBUG的時候也沒有機器指令可以查看,非常不利于代碼優(yōu)化。但是沒關(guān)系,現(xiàn)在我們有Dis模塊
    的頭像 發(fā)表于 11-03 15:39 ?516次閱讀
    python 使用Dis<b class='flag-5'>模塊</b>進行<b class='flag-5'>代碼</b><b class='flag-5'>性能</b>剖析

    怎么示波器觀察信號毛刺?

    信號毛刺是指信號中出現(xiàn)的突然幅度變化,通常表現(xiàn)為信號波形上的尖峰或震蕩。這種現(xiàn)象可能會導(dǎo)致電子設(shè)備的不穩(wěn)定性,甚至影響設(shè)備的正常運行。為了準(zhǔn)確觀察信號毛刺并找出其原因,使用示波器是一種常見的方法。本文將介紹如何使用示波器觀察信號
    的頭像 發(fā)表于 12-26 15:04 ?1254次閱讀
    怎么<b class='flag-5'>用</b>示波器<b class='flag-5'>觀察</b>信號毛刺?