這3個Python實時可視化工具包來幫你了解性能瓶頸_第1頁
這3個Python實時可視化工具包來幫你了解性能瓶頸_第2頁
這3個Python實時可視化工具包來幫你了解性能瓶頸_第3頁
這3個Python實時可視化工具包來幫你了解性能瓶頸_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第這3個Python實時可視化工具包來幫你了解性能瓶頸Python中的日志模塊可用于跟蹤代碼的事件,并可用于確定代碼崩潰的原因。有效地使用記錄器還可以跟蹤代碼片段的時間復雜度。日志記錄可能很有用,但它技術(shù)性太強,需要適當?shù)膶崿F(xiàn)。在本文中,我們將討論3個這樣的開源的Python庫,它們可以幫助開發(fā)人員在幾行代碼中可視化程序的執(zhí)行。

一、Pyheat

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

Pyheat可以使用從PyPl安裝

pipinstallpy-heat

引入包

frompyheatimportPyHeat

用法

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

ph=PyHeat('merge_sort.py')

ph.create_heatmap()

ph.show_heatmap()

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

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

更多詳情:

/csurfer/pyheat

二、Heartrate

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

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

pipinstallheartrate

用法

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

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

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

更多詳情:

/alexmojaki/heartrate

三、Snoop

Snoop是另一個可以用作調(diào)試工具的包。Snoop幫助你識別局部變量的值并跟蹤程序的執(zhí)行。Snoop主要用作一種調(diào)試工具,用于找出Python代碼為什么沒有執(zhí)行你認為應該執(zhí)行的操作。

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

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

pipinstallsnoop

用法

更多詳情:

/alexmojaki/snoop

在本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論