0
在.NET中,爲了存在,對象需要12個字節,8個用於標題,4個用於引用。假設我們想創建32位系統可以處理的最大數量的12字節對象(忽略100%的開銷)。這個最大值可能是什麼?我已經閱讀here 我們可以創建1.7億個對象,但據我所知,32位系統最多可以管理4個ram,我不知道這個1.7億對象來自哪裏。我們可以在32位系統中創建多少個對象?
在.NET中,爲了存在,對象需要12個字節,8個用於標題,4個用於引用。假設我們想創建32位系統可以處理的最大數量的12字節對象(忽略100%的開銷)。這個最大值可能是什麼?我已經閱讀here 我們可以創建1.7億個對象,但據我所知,32位系統最多可以管理4個ram,我不知道這個1.7億對象來自哪裏。我們可以在32位系統中創建多少個對象?
1,024 MB = 1 GB
2 GB = 2,048 MB
2,048 MB * 1,024 = 2,097,152 KB
2,097,152 KB * 1024 = 2,147,483,648 B
2,147,483,648 B/12 = 178,956,970 170million (ish)
正如文章指出的那樣,這裏有一些開銷,而這個大小的對象實際上是無用的。但無論如何,以上是GB - > B/12轉換的數學表達式。
這些數字很沒用,你爲什麼需要知道?也許對潛在問題有更好的答案。 –
我試圖找出什麼是減少開銷量的最佳方法。 由於增加數據字節意味着有很多字段的類,這增加了類的複雜性,我想知道是否有可容忍的開銷量,或者它取決於內存管理需求? –
你應該很可能不會擔心這種開銷,而是按照你想要的方式設計課程。如果你有大規模的數據問題,你可能會轉向64位。 –