bso*_*aid 5 c# performance garbage-collection
我的应用程序分析显示了大量的垃圾收集开销.分析器没有深入到垃圾收集.我该怎么做才能减少这种开销?
我有很多短命的arraylists和一些长寿,只有在应用程序关闭时才会死亡.
基本上你应该减少垃圾收集器的工作.有一些'模式'产生了很多工作.
所以在你的情况下,我猜你或者你有一个'中年'危机与短命的名单.或者你简单地分配像疯狂的列表.
在第一种情况下:尝试缩短列表的寿命.我无法告诉您应用程序的解决方案是什么样的.
在第二种情况下:尽量避免分配这么多列表.也许你可以使用正确的价值类型?还是固定大小的数组?或者以需要更少列表的方式更改代码的结构?
无论如何,我建议你介绍一下你的应用程序,看看你分配了多少内存以及第一代可以收集多少内存.
如果你有太多的垃圾收集开销,减少你的垃圾.尝试重用列表(预先分配并使用它们,完成后清除它们).
如果您正在使用具有值类型的ArrayList,请尝试切换为使用List<T>
.
归档时间: |
|
查看次数: |
4336 次 |
最近记录: |