标签: c# performance
我正在测试一个应用程序,该应用程序读取数千个小对象,然后通过远程处理发送回客户端。
在SysInternals中使用ProcessExplorer我看到“重载”下的“.NET CLR内存\%GC时间”大于50%。
是否意味着在GC上花费了50%甚至更多的时间?
如果是这样,我该如何改善表现?一个明显的答案是:没有创建这么多的对象但是,我该怎么做? “结构”会更好吗?
由于
答案 0 :(得分:4)
AFAIK值类型放在堆栈上,引用类型放在堆上。一旦你“超出范围”,释放值类型(即结构)比释放堆上的对象要快得多(这些是GC编辑的)。
关于GC中的%时间,请查看here
希望这有帮助。