ОК, вот сделка. Есть некоторые люди, которые вкладывают свои жизни в руки сборщика мусора .NET, а некоторые просто не доверяют ему.Эффективность сборщика мусора .NET.
Я являюсь одним из тех, кто частично доверяет ему, если он не критичен с точки зрения производительности (я знаю, что знаю ... производительность критическая + .net не предпочтительная комбинация), и в этом случае я предпочитаю вручную распоряжаться своим объектов и ресурсов.
Что я спрашиваю, есть ли какие-либо факты относительно того, насколько эффективны или неэффективны по производительности сборщики мусора?
Пожалуйста, не делитесь личными мнениями или вероятными предположениями на основе опыта, я хочу непредвзятые факты. Я также не хочу обсуждать pro/con, потому что он не будет отвечать на вопрос.
Благодаря
Edit: Чтобы уточнить, я в основном говорю: Независимо от того, какое приложение мы пишем, ресурс критически или не может мы просто забыть обо всем, и пусть GC справиться с этим, или мы не можем ?
Я пытаюсь получить ответ на самом деле, что GC делает и не делает, и где он может потерпеть неудачу, когда управление ручной памятью будет успешным, если бы были такие сценарии. Есть ли ОГРАНИЧЕНИЯ? Я не знаю, как я мог бы объяснить свой вопрос дальше.
У меня нет никаких проблем с любым приложением, это теоретический вопрос.
определить эффективный. не зная, как вы хотите измерить его эффективность, трудно ответить на это. –
Ну, если возможно, старайтесь избегать родственников или, если нужно, сравните их с безупречным ручным управлением памятью. –
Если вы ищете непредвзятые факты, почему бы вам не настроить некоторые тесты самостоятельно? Пройдите через некоторое создание и ручное уничтожение, а затем снова запустите ту же программу, не избавившись от чего-либо, и пусть GC заберет ее? Если вы хотите, чтобы цифры и анекдотические данные были не в порядке, настройте тесты, чтобы получить номера самостоятельно. – SqlRyan