Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Что подставить в HTMLDocument.write()? https://www.cyberforum.ru/ csharp-net/ thread311427.html
Когда-то писал программку на Delphi, которая из аутлука берёт письмо в формате HTML, находит мне нужную таблицу и заносит данные в базу данных. Там делал так: var v: variant; begin v :=...
C# Реализация Show()
Мне нужно следующее: Есть свой класс, Message Как мне сделать что бы при вызове метода, создался объект, а после определенного времени сам уничтожался? к примеру, я пишу MyClass.Show("Hello");...
связка Sql и C# C#
У меня возникло несколько проблем. Вот интерфейс моей программы Вот код private void btnNext_Click(object sender, EventArgs e) {
C# Преобразование даты из DateTimePicker Интересует два таких вопроса если темы подымались дайте ссылку : 1. выбрать в ДТП дату дальше преобразовать в формат Datetime 2. выбрать в ДТП дату дальше преобразовать в формат текст в виде... https://www.cyberforum.ru/ csharp-net/ thread311268.html
C# оператор сотовой связи https://www.cyberforum.ru/ csharp-net/ thread311202.html
кто знает как на С# програмно определить ределить оператора сотовой связи и страну?
C# Копирование файлов
Есть папка, в ней файлы и подпапки с файлами. Как это все скопировать? При этом если папка пустая, её всеравно нужно скопировать. После копирования из места, котором изначально хранилось всё это,...
Ошибка выбора C#
У некоторых пользователей моей программы при запуске выскакивает такая ошибка: Как с ней бороться?
C# Remoting Tcp + Win32 wrapper // Класс public class Server: MarshalByRefObject { public Server(int port) { this.Port = port; this.ServerData = ServerData.get(port); ... https://www.cyberforum.ru/ csharp-net/ thread310957.html
C# Библиотека для caldav (WebDav + iCalendar)) https://www.cyberforum.ru/ csharp-net/ thread310930.html
День добрый! Очень нужна библиотека для эмуляции сервера Сaldav (WebDav + iCalendar). Может быть кто-то сталкивался или делал. Буду благодарен за любую информацию
C# directX API Ну в общем сабжь. Дайте пожалуйста инфу по установки на MVS2010. Ну и первое создание проекта. я щас читаю книгу Том Миллер - dx9. Не слишком ли старо? Если старо посоветуйте что нибуть... https://www.cyberforum.ru/ csharp-net/ thread310716.html
142 / 142 / 26
Регистрация: 09.10.2009
Сообщений: 261
03.06.2011, 16:05 0

когда есть смысл вручную вызывать Garbage collector

03.06.2011, 16:05. Показов 3229. Ответов 3
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от m0nax Посмотреть сообщение
сборщик глуп и ленив, лучше вместо него вызвать вот эту штуку

Забивается оперативная память
SetProcessWorkingSetSize в данном случае заставляет нас жертвовать производительностью ради временной "очистки" десятка (к примеру) Мб ОЗУ. Хотя, смотря у кого какие приоритеты.
П.С. Разъяснения:
About SetProcessWorkingSetSize
This function will just trim the workingset of your application by writing the memory in RAM to the page file. Nothing is released back to Windows.

In fact you only have made accessing the memory again slower, since it now has to be read from disc. This method has the same effect as minimising your application. Then Windows presumes you are not going to use the application again soon and also writes the workingset in RAM to the pagefile. Windows does a good job of deciding when to write RAM to the pagefile and tries to keep the most used memory in RAM as long as it can. It will make the workinset size smaller (write to pagefile) when there is little RAM left. I would not mess with it just to give the illusion that you program is using less memory while in fact it is using just as much as before, only now it is slower to access. Memory that is accessed again will be loaded into RAM again and make the workinset size grow again. Touching less memory keeps the workingset size smaller.
You're NOT freeing memory. You're offloading it to disk. There's no need to do that: OS will offload your pages to disc automatically when some other app needs memory. You're just making things worse because if you try to access this memory (for instance, by creating an object) and it's on the disk, you'll have to read it back now.


По теме ТС'a, в статье ниже можно найти интересующий вас ответ:
Garbage Collection and .Net Programming

Вернуться к обсуждению:
когда есть смысл вручную вызывать Garbage collector
3
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2011, 16:05
Готовые ответы и решения:

CLR и Garbage Collector
всем доброго времени суток! Если не вызывать GC.Collect() то среда CLR автоматически убирает...

Garbage collector
как можно просимулировать Garbage collector (написать программу в C#) ?

Создать ссылку на делегат, чтобы Garbage Collector его не уничтожал
Использую неуправляемый и управляемый код. И вот через некоторое время дебаггинга програма...

Кто может кратко объясните как работает Garbage Collector?
кто может кратко объясните как работает Garbage Collector?

3
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.