[英]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.