国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

你使用的Python對(duì)象占用了多少內(nèi)存?(下)

2019-09-10 07:22:44
電腦報(bào) 2019年28期
關(guān)鍵詞:分析器實(shí)例內(nèi)存

現(xiàn)在,100X的內(nèi)存有可能被毫無(wú)用處地困在你的程序里,永遠(yuǎn)不會(huì)被再次利用,而且也拒絕被系統(tǒng)分配給其他程序。更具諷刺意味的是,如果你使用處理模塊來(lái)運(yùn)行程序的多個(gè)實(shí)例,那么就會(huì)嚴(yán)重限制你在給定計(jì)算機(jī)上可以運(yùn)行的實(shí)例數(shù)。

內(nèi)存剖析

想要衡量和測(cè)量程序的實(shí)際內(nèi)存使用情況,可以使用memory_profiler模塊。我嘗試了一下,不確定所得出的結(jié)果是否可信。它使用起來(lái)非常簡(jiǎn)單。你裝飾一個(gè)函數(shù)(可能是@profiler裝飾器的主函數(shù)0函數(shù)),當(dāng)程序退出時(shí),內(nèi)存分析器會(huì)打印出一份標(biāo)準(zhǔn)輸出的簡(jiǎn)潔報(bào)告,顯示每行的總內(nèi)存和內(nèi)存變化。

memory_profiler

https://pypi.python.org/pypi/memory_profiler

```python from memory_profiler import profile

@profile def main(): a = [] b = [] c = [] for i in range(100000): a.append(5) for i in range(100000): b.append(300) for i in range(100000): c.append('1234567890123

45678901234567890') del a del b del c

print ‘Done!’ if __name__ == '__main__':

main() ```

Here is the output:

Line # Mem usage Increment Line Contents

3 22.9 MiB 0.0 MiB @profile

4 def main():

如你所見(jiàn),這里的內(nèi)存開(kāi)銷(xiāo)是22.9MB。在【-5,256】范圍內(nèi)外添加整數(shù)和添加字符串時(shí)內(nèi)存不增加的原因是在所有情況下都使用單個(gè)對(duì)象。目前尚不清楚為什么第8行的第一個(gè)range(1000)循環(huán)增加了4.2MB,而第10行的第二個(gè)循環(huán)只增加了0.4MB,第12行的第三個(gè)循環(huán)增加了0.8MB。最后,當(dāng)刪除a、b和c列表時(shí),為a和c釋放了0.6MB,但是為b添加了0.2MB。對(duì)于這些結(jié)果我并不是特別理解。

猜你喜歡
分析器實(shí)例內(nèi)存
酒精分析器為什么能分辨人是否喝過(guò)酒
“春夏秋冬”的內(nèi)存
多邊形電極線形離子阱質(zhì)量分析器的結(jié)構(gòu)與性能
應(yīng)用于詞法分析器的算法分析優(yōu)化
完形填空Ⅱ
完形填空Ⅰ
基于內(nèi)存的地理信息訪問(wèn)技術(shù)
上網(wǎng)本為什么只有1GB?
面向擴(kuò)展文法語(yǔ)義分析器的自動(dòng)生成
邵武市| 伊吾县| 乌海市| 嘉善县| 潼关县| 莱西市| 绥滨县| 油尖旺区| 元阳县| 淮滨县| 吴江市| 西乌珠穆沁旗| 太谷县| 洞口县| 潞西市| 阳泉市| 灵山县| 陆良县| 武鸣县| 靖西县| 金沙县| 镇宁| 麻栗坡县| 马山县| 石首市| 栾川县| 临泉县| 门头沟区| 枣强县| 老河口市| 项城市| 驻马店市| 潞城市| 始兴县| 曲沃县| 日土县| 和顺县| 仁怀市| 中西区| 恭城| 化德县|