【发布时间】:2010-05-06 00:26:31
【问题描述】:
在使用 CLR Profiler 进行一些实验后,我发现:
Node[,] n = new Node[100,23]; //'84,028 bytes, is not placed in LOH
Node[,] n = new Node[100,24]; //'86,428 bytes, is
public struct Node {
public int Value;
public Point Point;
public Color Color;
public bool Handled;
public Object Tag;
}
在运行时,我如何知道在大对象堆 (LOH) 中分配了结构数组(或任何数组)?
【问题讨论】:
-
我不相信这是可能的(不自己使用分析 API)。你为什么想知道?
-
我遇到了应用程序使用的一种结构的性能问题。我已经成功优化了其他数组(stackoverflow.com/questions/2762424/…)。然而,这种结构才是真正的性能杀手。
-
如果只是为了性能调优,那为什么不像以前一样使用分析器呢?
标签: .net arrays large-object-heap