Для программиста действительно ли возможно программно запустить/остановить сборку "мусора" на языке программирования C#? Например, для оптимизации производительности и так далее.
Не совсем. Вы можете давать подсказки GC
с помощью таких методов, как GC.AddMemoryPressure
или GC.RemoveMemoryPressure
, но не прекращать это сразу.
Кроме того, сборка мусора - не такой уж трудоемкий процесс. Программисты очень редко когда-либо беспокоятся об этом.
В общем, нет. И большинство людей посчитают преждевременной оптимизацией беспокоиться о сборке мусора, если только вы не проведете профилирование и не выясните, что это действительно является причиной низкой производительности вашего приложения.
Если вас интересуют тонкости настройки GC для повышения производительности (или, что более вероятно, настройки вашего приложения для повышения его производительности относительно GC), MSDN имеет довольно приличное описание способов сделать это.
Нет, нет. В лучшем случае вы можете запустить сборку мусора самостоятельно, хотя это считается очень плохой вещью, поскольку она может мешать встроенным алгоритмам планирования, используемым сборщиком мусора.