Каковы издержки памяти для объекта .NET

Каковы издержки памяти для объекта в .NET? Я говорю о произвольном объекте bare-bones... накладных расходов на внутренние работы или ссылки .NET:

var obj = new System.Object();

Сколько пространства занимает obj в куче?

Ответы

Ответ 1

Об этом я расскажу в сообщении в блоге "О памяти и строках" . Он специфичен для реализации, но для Microsoft.NET CLR v4, CLR x86 имеет служебные расходы на один объект из 8 байтов, а CLR x64 имеет служебные расходы на один объект из 16 байтов.

Однако есть минимальные размеры 12 и 24 байта соответственно - просто вы получите первые 4 или 8 байтов "бесплатно", когда начнете хранить полезную информацию:)

(Подробнее см. в блоге).