Jos*_*osh 11 .net memory clr performance vm-implementation
我原本以为在托管代码中内存分配是否比本机代码更快是明确的 - 但似乎存在一些争议.也许虚拟机下的内存管理更快,因为没有对操作系统的上下文交换调用,但后来我发现虚拟机本身需要定期调用操作系统以获得更多内存,并且它具有内存本身的管理开销而不是操作系统.
而不是像我一样制作未经证实的断言,请提供支持您职位的参考文献的链接.
阅读http://msdn.microsoft.com/en-us/library/ms973852.aspx
它详细介绍了内存分配在.NET中的工作原理,并简要地将其与C++模型进行了比较.
总之,.NET中的内存分配涉及将当前堆栈点作为对象的地址,并将对象的数据大小添加到堆栈指针.相比之下,C++必须搜索一个足够大的对象区域的释放指针列表.因此,在大多数情况下,.NET会更快.