最近我正在运行Andrew Hunter 在他的博客“大对象堆的危险”中提供的示例,该示例针对 .NET 4 编译,我得到了以下数字:
大块:分配 622Mb
大块,频繁垃圾收集:分配 582Mb
仅小块:分配 1803Mb
大块,未增长的大块:分配 630Mb
如果针对 .NET 2.0 编译相同的代码,我几乎得到了文章中提到的数字:
使用大块:分配 21Mb
使用大块,频繁垃圾收集:分配 26Mb
仅分配小块:分配 1811Mb
使用大块,未增长的大块:分配 707Mb
如此显着改善的原因是什么?
代码针对 x86 平台编译并在 Windows 7 上运行