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

利用4行Python代碼監(jiān)測每一行程序的運(yùn)行時間和空間消耗

 更新時間:2020年04月22日 09:21:48   作者:不脫發(fā)的程序猿  
這篇文章主要介紹了如何使用4行Python代碼監(jiān)測每一行程序的運(yùn)行時間和空間消耗,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

Python是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,其具有高可擴(kuò)展性和高可移植性,具有廣泛的標(biāo)準(zhǔn)庫,受到開發(fā)者的追捧,廣泛應(yīng)用于開發(fā)運(yùn)維(DevOps)、數(shù)據(jù)科學(xué)、網(wǎng)站開發(fā)和安全。然而,它沒有因速度和空間而贏得任何稱贊,主要原因是Python是一門動態(tài)類型語言,每一個簡單的操作都需要大量的指令才能完成。

所以這更加需要開發(fā)者在使用Python語言開發(fā)項(xiàng)目時協(xié)調(diào)好程序運(yùn)行的時間和空間。

1、分析時間耗時

分析項(xiàng)目消耗的時間消耗,依托于line_profiler模塊,其可以計(jì)算出執(zhí)行每行代碼所需占用的CPU時間。

第1步:安裝line_profiler模塊,我是用pip安裝一直失敗,所以下載到本地進(jìn)行離線安裝,指令如下所示:

pip install .\line_profiler-3.0.2-cp37-cp37m-win_amd64.whl

安裝成功效果如下所示:

第2步:分析每行代碼的運(yùn)行時間,本案例Demo檢測for循環(huán)一萬次累加和while循環(huán)一萬次累加的時間,并進(jìn)行對比,實(shí)現(xiàn)代碼如下所示:

from line_profiler import LineProfiler
 
def operation1():
 num=0
 for i in range(10000):
  num += 1
 
def operation2():
 num=0
 while(num < 10000):
  num += 1
 
if __name__ == "__main__":
 lprofiler = LineProfiler(operation1,operation2)
 lprofiler.run('operation1()')
 lprofiler.run('operation2()')
 lprofiler.print_stats()

運(yùn)行程序,可見while循環(huán)速度稍微慢一些,效果如下所示:

2、分析空間耗時

memory_profiler模塊可實(shí)現(xiàn)對Python項(xiàng)目中每一個代碼的內(nèi)存消耗進(jìn)行分析和監(jiān)控。

第1步:安裝memory_profiler庫文件,指令如下所示:

pip install memory_profiler

安裝成功效果如下所示:

第2步:分析每行代碼的空間消耗,本案例Demo檢測for循環(huán)一萬次累加和while循環(huán)一萬次累加的消耗空間,并進(jìn)行對比,實(shí)現(xiàn)代碼如下所示:

from memory_profiler import profile
 
@profile
def operation1():
 num=0
 for i in range(10000):
  num += 1
 
@profile
def operation2():
 num=0
 while(num < 10000):
  num += 1
 
if __name__ == "__main__":
 operation1()
 operation2()

由于是簡單運(yùn)算消耗的內(nèi)存是微乎其微的,效果如下所示:

本篇博文僅介紹以上兩種模塊,其實(shí)有更多有意思的模塊可以實(shí)現(xiàn)對程序的運(yùn)行時間和空間消耗的監(jiān)測,感興趣的朋友可以多多嘗試。

到此這篇關(guān)于利用4行Python代碼監(jiān)測每一行程序的運(yùn)行時間和空間消耗的文章就介紹到這了,更多相關(guān)python 監(jiān)測程序運(yùn)行時間空間消耗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python列表生成器常用迭代器示例詳解

    python列表生成器常用迭代器示例詳解

    這篇文章主要為大家介紹了python列表生成器常用迭代器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 淺談使用Python內(nèi)置函數(shù)getattr實(shí)現(xiàn)分發(fā)模式

    淺談使用Python內(nèi)置函數(shù)getattr實(shí)現(xiàn)分發(fā)模式

    這篇文章主要介紹了淺談使用Python內(nèi)置函數(shù)getattr實(shí)現(xiàn)分發(fā)模式,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Django中的JWT身份驗(yàn)證的實(shí)現(xiàn)

    Django中的JWT身份驗(yàn)證的實(shí)現(xiàn)

    這篇文章主要介紹了Django中的JWT身份驗(yàn)證的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 聊聊pytorch測試的時候?yàn)楹我由蟤odel.eval()

    聊聊pytorch測試的時候?yàn)楹我由蟤odel.eval()

    這篇文章主要介紹了聊聊pytorch測試的時候?yàn)楹我由蟤odel.eval()的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python實(shí)現(xiàn)的序列化和反序列化二叉樹算法示例

    Python實(shí)現(xiàn)的序列化和反序列化二叉樹算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的序列化和反序列化二叉樹算法,結(jié)合實(shí)例形式分析了Python二叉樹的構(gòu)造、遍歷、序列化、反序列化等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • python模塊restful使用方法實(shí)例

    python模塊restful使用方法實(shí)例

    這篇文章主要介紹了python模塊restful使用方法,大家參考使用吧
    2013-12-12
  • Python callable函數(shù)使用方法詳解

    Python callable函數(shù)使用方法詳解

    這篇文章主要介紹了Python callable函數(shù)使用方法,一個可callable的對象是指可以被調(diào)用執(zhí)行的對象,并且可以傳入?yún)?shù), 用另一個簡單的描述方式,只要可以在一個對象的后面使用小括號來執(zhí)行代碼,那么這個對象就是callable對象,下面來詳細(xì)介紹使用方法,需要的朋友可以參考下
    2024-10-10
  • Python的Django中將文件上傳至七牛云存儲的代碼分享

    Python的Django中將文件上傳至七牛云存儲的代碼分享

    七牛云存儲可以幫助服務(wù)器轉(zhuǎn)存圖片等數(shù)據(jù),類似于Dropbox等存儲服務(wù),這里就帶給大家Python的Django中將文件上傳至七牛云存儲的代碼分享,需要的朋友可以參考下
    2016-06-06
  • node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn)

    node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn)

    本文主要介紹了node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 用Python實(shí)現(xiàn)數(shù)據(jù)篩選與匹配實(shí)例

    用Python實(shí)現(xiàn)數(shù)據(jù)篩選與匹配實(shí)例

    大家好,本篇文章主要講的是用Python實(shí)現(xiàn)數(shù)據(jù)篩選與匹配實(shí)例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02

最新評論