簡體   English   中英

Python大型bytearray內存

[英]Python Large bytearray Memory

假設我創建了一個大型bytearray。 讓我們說總共1000000字節或1mb。 解釋器是否在內存中保留1mb或在字節數組填充時使用內存。 含義是否在內存中使用1mb的1000000字節的空字節數?

我認為它是在建設中分配/保留的。 下面的行將在我的系統上將解釋器的內存使用量增加大約100MB。

b = bytearray(1024*1024*100)

如果文檔沒有提到它,我想它取決於實現。

sys.getsizeof以字節為單位返回對象的大小:

In [242]: sys.getsizeof(bytearray(10**6))
Out[242]: 1000025

所以實際上bytearray(10**6)使用大約1MB的空間。

請注意,雖然sys.getsizeof為bytearrays提供了准確的答案,但如果應用於容器 (如列表),它只會給出容器的大小,而不包括容器的內容。

如果您需要計算對象的大小(包括其內容),則會有一個配方 (在文檔中引用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM