Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Бредовый размер


Автор: Baa 23.2.2003, 22:44
Я че-то не понял... это так и должно быть или я че-то не так делаю?
Размер каждой формы 5 мегов в ОЗУ занимает... Друг сваял прогу, дык та 50 метров в ОЗУ весит и почти ничего особенного из себя не представляет...

Автор: simanyay 24.2.2003, 03:03
Я вот тоже самого не понял. Ты на каком языке делал? Я на VB.NET так там такие тормоза обнаруживаются. На моём Celeron 1200Mhz 256Mb RAM даже консольное приложение после компиляции запускаетс секунд 5... Может это CLR виновата?

Автор: Baa 24.2.2003, 05:29
simanyay, друг на басике, я на шарпе, но тут не в языке дело...

Автор: stab 24.2.2003, 18:13
все дело в FrameWork, наверно. В первый раз когда какая-нить .NET прога запускается всегда тормазакции, а потом тормазакции тока тогда, когда новые классы подгружаются.

В памяти у мя прога с одной пустой формой занимает ~11Mb sad.gif , надеюсь что большая часть отображается в одну и ту же физическую память при запуске нескольких .NET прог.

Автор: AntonSaburov 25.2.2003, 18:52
Если кто помнит - каждый новичок в Делфи спрашивает о том же самом smile.gif

Ну а что вы хотите - это же по сути еще одна JAVA запускается. А внутри нее уже программа и крутится. Да еще JIT сверху - тут не просто тормоза, а о-о-о-очень тормоза при первом запуске.

Автор: Riccon 3.7.2006, 16:51
Прога откушивает память "про запас". Реально, конечно, она столько не занимает. Если какому-то процессу будет нехватать памяти, излишки с .NET приложения  будут убраны. В любом случае программисту не нужно об этом сильно беспокоиться. 

Можно, конечно, сделать так:

Код

        [DllImport("kernel32.dll")]
        public static extern bool SetProcessWorkingSetSize(IntPtr handle,
                    int minimumWorkingSetSize, int maximumWorkingSetSize);

......

SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);

 

Автор: mr.DUDA 3.7.2006, 21:43
ИМХО, борьба с ветряными мельницами - несерьёзное занятие. Если уж бороться - то не за мегабайты, а за десятки-сотни мегабайтов. Тем более, что во многих самописанных .NET-приложениях есть довольно большое количество "дырок" при работе с памятью; тут уже только Memory Profiler поможет. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)