這個神奇的模塊能讓你實時可視化地觀察Python程序執(zhí)行時每一行代碼的性能表現(xiàn)。
左邊的數(shù)字是每行被擊中的次數(shù)。條形顯示最近被擊中的次數(shù),較長的條意味著其被擊中的次數(shù)更多。
顏色的深淺代表著命中的時間與當(dāng)前時間的距離,顏色越淺代表離當(dāng)前時間越近。
下面就來教大家怎么用這個模塊來觀察你的代碼性能表現(xiàn)。
1.準備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。
**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南。
請選擇以下任一種方式輸入命令安裝依賴 :
- Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
- MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
- 如果你用的是 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)化你的代碼吧!
-
模塊
+關(guān)注
關(guān)注
7文章
2788瀏覽量
50357 -
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70709 -
編輯器
+關(guān)注
關(guān)注
1文章
822瀏覽量
32023 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86708
發(fā)布評論請先 登錄
HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-DevEco Profiler性能優(yōu)化過程
關(guān)于pid調(diào)節(jié)過程,請問都是用什么軟件來觀察波形的變化,求指教
用示波器觀察輸出波形
單片機控制SIM900模塊來發(fā)送彩信的程序代碼
vivoZ1全面評測 表現(xiàn)可以用越級來形容
來Google 面館用代碼拉面
EE-132:用VisualDSP++?將C代碼和數(shù)據(jù)模塊放入SHARC存儲器

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

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

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

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

評論