Bình thường khi mình allocate Student object trên heap memory thì đoán chừng sẽ tốn chừng khoảng 1 bytes vì không có member như trong C++
Nhưng trong C# nó tốn nhiều hơn, tối thiểu 12 bytes cho hệ thống x86 hay 24bytes cho hệ thống x64, không quan tâm là có dữ liệu hay không.
Vì trong C# nó dành riêng 8 bytes (hay 16 bytes trong x64) để phục vụ cho JIT & CLR (trong x86, 4 bytes cho Object Header Word; 4 bytes cho Method Table Pointer; và tối thiểu 4 bytes cho data)
Pro .NET Performance: Optimize Your C#, e.g
public class Student { }
var student = new Student();
Bình thường khi mình allocate Student object trên heap memory thì đoán chừng sẽ tốn chừng khoảng 1 bytes vì không có member như trong C++ Nhưng trong C# nó tốn nhiều hơn, tối thiểu 12 bytes cho hệ thống x86 hay 24bytes cho hệ thống x64, không quan tâm là có dữ liệu hay không. Vì trong C# nó dành riêng 8 bytes (hay 16 bytes trong x64) để phục vụ cho JIT & CLR (trong x86, 4 bytes cho Object Header Word; 4 bytes cho Method Table Pointer; và tối thiểu 4 bytes cho data)