Каковы накладные расходы памяти.NET Object

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

var obj = new System.Object();

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

1 ответ

Решение

Я говорю об этом в блоге "Памяти и струн". Это зависит от реализации, но для Microsoft .NET CLR v4, CLR x86 имеет служебную нагрузку на объект 8 байтов, а CLR x64 имеет служебную нагрузку на объект 16 байтов.

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

(См. Сообщение в блоге для получения дополнительной информации.)

Другие вопросы по тегам