防止垃圾收集器检查对象

时间:2013-11-09 12:30:57

标签: c# garbage-collection

在我的程序中,我使用HashSet,我只会将对象放入其中,我将never再次出来。条目是类,可以在集合中获得超过100,000个条目。内存使用在这里不是问题,但垃圾收集器是。我的cpu的45%用于垃圾收集,我怀疑这是因为大的设置。

有没有办法让垃圾收集器not检查一个对象?我从不想删除集合中的对象。

1 个答案:

答案 0 :(得分:3)

.NET使用分代垃圾收集并考虑您的场景,它最终会将所有对象移动到第2代,这很少被收集。 因此,除非这些对象被频繁更换,否则GC不应成为问题。

如果你100%确定GC吃了45%的CPU,我会去找一个内存分析器,看看到底收集到了什么