c# .net

c# - ¿Cuál es la sobrecarga de memoria de un objeto.NET



(1)

¿Cuál es la sobrecarga de memoria de un objeto en .NET? Estoy hablando de un objeto básico arbitrario ... la sobrecarga del funcionamiento interno de .NET o las referencias:

var obj = new System.Object();

¿Cuánto espacio ocupa obj en el montón?


Hablo de esto en una publicación de blog "De memoria y cuerdas" . Es específico de la implementación, pero para Microsoft .NET CLR v4, el CLR x86 tiene una sobrecarga por cada objeto de 8 bytes, y el CLR x64 tiene una sobrecarga por cada objeto de 16 bytes.

Sin embargo, hay tamaños mínimos de 12 y 24 bytes respectivamente, es solo que obtienes los primeros 4 u 8 bytes "gratis" cuando comienzas a almacenar información útil :)

(Vea la publicación del blog para más información).