新聞中心
memory_profiler的使用方法超級簡單,使用pip install memory_profiler完成安裝后,只需要從memory_profiler導(dǎo)入profile并作為要分析的目標(biāo)函數(shù)的裝飾器即可,譬如下面這個(gè)例子:

創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、岱山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為岱山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
demo.py
import numpy as np
from memory_profiler import profile
@profile
def demo():
a = np.random.rand(10000000)
b = np.random.rand(10000000)
a_ = a[a < b]
b_ = b[a < b]
del a, b
return a_, b_
if __name__ == '__main__':
demo()
接著在終端執(zhí)行python demo.py,稍事等待后,就會看到打印出的分析結(jié)果報(bào)告(這里我是在jupyter lab里執(zhí)行的終端命令):
其中Line #列記錄了分析的各行代碼具體行位置,Mem usage列記錄了當(dāng)程序執(zhí)行到該行時(shí),當(dāng)前進(jìn)程占用內(nèi)存的量,Increment記錄了當(dāng)前行相比上一行內(nèi)存消耗的變化量,Occurrences記錄了當(dāng)前行的執(zhí)行次數(shù)(循環(huán)、列表推導(dǎo)等代碼行會記作多次),Line Contents列則記錄了具體對應(yīng)的行代碼。
通過這樣細(xì)致的內(nèi)存分析結(jié)果,我們就能有的放矢地優(yōu)化我們的代碼啦~
本文名稱:一行代碼搞定Python逐行內(nèi)存消耗分析
文章地址:http://m.5511xx.com/article/dpecggg.html


咨詢
建站咨詢
