欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

這3個Python實(shí)時可視化工具包來幫你了解性能瓶頸

 更新時間:2021年06月16日 15:57:20   作者:Python學(xué)習(xí)與數(shù)據(jù)挖掘  
由于Python的動態(tài)性和多功能性,它比其他語言的速度要慢.有時復(fù)雜的計算或算法需要大量時間才能在Python中執(zhí)行.因此需要跟蹤代碼的執(zhí)行流,深入了解性能瓶頸,需要的朋友可以參考下

前言

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

一、Pyheat

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

Pyheat 可以使用從 PyPl 安裝

pip install py-heat

引入包

from pyheat import PyHeat

用法

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

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

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

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

更多詳情:

https://github.com/csurfer/pyheat

二、Heartrate

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

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

pip install heartrate

用法

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

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

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

更多詳情:

https://github.com/alexmojaki/heartrate

三、Snoop

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

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

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

pip install snoop

用法

更多詳情:

https://github.com/alexmojaki/snoop

結(jié)論

在本文中,我們介紹了3個庫,它們可以用來可視化Python代碼的執(zhí)行。這些庫幫助開發(fā)人員深入挖掘代碼,發(fā)現(xiàn)并理解性能瓶頸,只需添加幾行代碼即可實(shí)現(xiàn)。

到此這篇關(guān)于這3個Python實(shí)時可視化工具包來幫你了解性能瓶頸的文章就介紹到這了,更多相關(guān)Python實(shí)時可視化工具包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python清除字符串里非數(shù)字字符的方法

    python清除字符串里非數(shù)字字符的方法

    這篇文章主要介紹了python清除字符串里非數(shù)字字符的方法,涉及Python使用re模塊正則替換操作字符串的技巧,需要的朋友可以參考下
    2015-07-07
  • Django框架視圖層URL映射與反向解析實(shí)例分析

    Django框架視圖層URL映射與反向解析實(shí)例分析

    這篇文章主要介紹了Django框架視圖層URL映射與反向解析,結(jié)合實(shí)例形式分析了Django框架普通url映射、命名URL參數(shù)映射、分布式URL映射、反向解析等相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • 淺談dataframe中更改列屬性的方法

    淺談dataframe中更改列屬性的方法

    今天小編就為大家分享一篇淺談dataframe中更改列屬性的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python讀取xlsx的方法

    python讀取xlsx的方法

    今天小編就為大家分享一篇python讀取xlsx的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML

    python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML

    這篇文章主要介紹了python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • 推薦一款高效的python數(shù)據(jù)框處理工具Sidetable

    推薦一款高效的python數(shù)據(jù)框處理工具Sidetable

    這篇文章主要為大家介紹推薦一款高效的python數(shù)據(jù)框處理工具Sidetable,文章詳細(xì)的講解了Sidetable的安裝及用法,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • 如何利用Anaconda配置簡單的Python環(huán)境

    如何利用Anaconda配置簡單的Python環(huán)境

    這篇文章主要為大家詳細(xì)介紹了如何利用Anaconda配置簡單的Python環(huán)境,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 使用Python設(shè)計一個代碼統(tǒng)計工具

    使用Python設(shè)計一個代碼統(tǒng)計工具

    這篇文章主要介紹了使用Python設(shè)計一個代碼統(tǒng)計工具的相關(guān)資料,包括文件個數(shù),代碼行數(shù),注釋行數(shù),空行行數(shù)。感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-04-04
  • 基于Python實(shí)現(xiàn)文件分類器的示例代碼

    基于Python實(shí)現(xiàn)文件分類器的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)文件分類器,目的主要是為了將辦公過程中產(chǎn)生的各種格式的文件完成整理,感興趣的可以了解一下
    2023-04-04
  • 對Python定時任務(wù)的啟動和停止方法詳解

    對Python定時任務(wù)的啟動和停止方法詳解

    今天小編就為大家分享一篇對Python定時任務(wù)的啟動和停止方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評論