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

¿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).