.NET CLR内存\%GC中的时间

时间:2009-06-30 01:06:45

标签: c# performance

我正在测试一个应用程序,该应用程序读取数千个小对象,然后通过远程处理发送回客户端。

在SysInternals中使用ProcessExplorer我看到“重载”下的“.NET CLR内存\%GC时间”大于50%。

  • 是否意味着在GC上花费了50%甚至更多的时间?

  • 如果是这样,我该如何改善表现?一个明显的答案是:没有创建这么多的对象但是,我该怎么做? “结构”会更好吗?

由于

1 个答案:

答案 0 :(得分:4)

AFAIK值类型放在堆栈上,引用类型放在堆上。一旦你“超出范围”,释放值类型(即结构)比释放堆上的对象要快得多(这些是GC编辑的)。

关于GC中的%时间,请查看here

希望这有帮助。