這3個Python實時可視化工具包來幫你瞭解性能瓶頸

前言

Python中的日志模塊可用於跟蹤代碼的事件,並可用於確定代碼崩潰的原因。有效地使用記錄器還可以跟蹤代碼片段的時間復雜度。日志記錄可能很有用,但它技術性太強,需要適當的實現。在本文中,我們將討論3個這樣的開源的Python庫,它們可以幫助開發人員在幾行代碼中可視化程序的執行。

一、Pyheat

Pyheat 是一個開源的 Python 庫,幫助開發人員獲得代碼執行的逐行時間分佈。Pyheat不是以表格格式顯示,而是用熱圖表示運行每行代碼所需的時間。

Pyheat 可以使用從 PyPl 安裝

pip install py-heat

引入包

from pyheat import PyHeat

用法

Pyheat可用於為Python模塊的每行代碼生成時間編號的熱圖。將Python文件的路徑作為參數傳遞給PyHeat函數。

ph = PyHeat('merge_sort.py')
ph.create_heatmap()
ph.show_heatmap()

上面提到的代碼生成瞭一個熱圖,表示 在merge_sort.py 模塊中運行每一行代碼所需的時間(秒)。

從上面的熱圖來看,雖然第17行中的循環需要花費大部分時間(7秒)來執行。熱圖有助於開發人員識別花費大量時間執行的代碼片段,這些代碼片段可能會進一步優化。

更多詳情:

https://github.com/csurfer/pyheat

二、Heartrate

Heartrate 是一個開源的 Python 庫,提供 Python 程序執行的實時可視化。它提供瞭一行一行的執行可視化,每個行的執行次數由數字決定。它在瀏覽器的單獨窗口中顯示代碼的執行情況。

Heartrate 可以通過以下方式從PyPl安裝:

pip install heartrate

用法

導入包(import heartrate)後,請使用heartrate.trace(browser=True)函數,該函數將打開一個瀏覽器窗口,顯示調用trace()的文件的可視化效果。

在執行代碼時,瀏覽器中會彈出一個窗口,如果現在你可以按照 http://localhost:9999 觀察執行的輸出可視化。

每行最左邊的數字表示執行特定行的次數。條形圖顯示瞭最近被點擊的線條-較長的條形圖表示點擊次數較多,較淺的顏色表示點擊次數較多。它還顯示瞭一個活動堆棧跟蹤。

更多詳情:

https://github.com/alexmojaki/heartrate

三、Snoop

Snoop 是另一個可以用作調試工具的包。Snoop 幫助你識別局部變量的值並跟蹤程序的執行。Snoop 主要用作一種調試工具,用於找出 Python 代碼為什麼沒有執行你認為應該執行的操作。

所有這一切都是可能的,隻需在你想要跟蹤的函數之前使用 snoop 裝飾器。

可以使用以下方法從 PyPl 安裝 Snoop 庫:

pip install snoop

用法

更多詳情:

https://github.com/alexmojaki/snoop

結論

在本文中,我們介紹瞭3個庫,它們可以用來可視化Python代碼的執行。這些庫幫助開發人員深入挖掘代碼,發現並理解性能瓶頸,隻需添加幾行代碼即可實現。

到此這篇關於這3個Python實時可視化工具包來幫你瞭解性能瓶頸的文章就介紹到這瞭,更多相關Python實時可視化工具包內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: