О разнице между Microsoft VC vs Borland CB
От: kronprince Украина  
Дата: 08.01.03 08:38
Оценка:
К сожалению не очень хорошо разбираюсь в механизме выделения памяти в Windows

Предистория:
создаем пустой проект с использованием Microsoft VC и Borland CBuilder и получаем ЕХЕ-шники соответственно в 7К и 10К.
Количество памяти выделенного виндой под эти проги (если верить taskmgr W2K) составляет около 500К для VC и 1100К для BCB.
Вопрос ?
откуда такая разница в объеме выделеной памяти ???
и вообще почему ТАК МНОГО ???

08.01.03 12:24: Перенесено модератором из 'C/C++' в Средства разработки. — ХД
Re: О разнице между Microsoft VC vs Borland CB
От: Atilla Россия  
Дата: 08.01.03 08:42
Оценка:
Здравствуйте, kronprince, Вы писали:

K>Вопрос ?

K>откуда такая разница в объеме выделеной памяти ???
K>и вообще почему ТАК МНОГО ???

потомучта еще и динамические библиотеки подгружаются, а также все библиотеки могут какие-то глобальные данные заводить.
... << RSDN@Home 1.0 beta 4 >>
Кр-ть — с.т.
Re[2]: О разнице между Microsoft VC vs Borland CB
От: kronprince Украина  
Дата: 08.01.03 09:15
Оценка:
на 1МБ глобальных переменных ????
а не многовато ли для 10К програмки ???
Re[3]: О разнице между Microsoft VC vs Borland CB
От: adb Россия  
Дата: 08.01.03 09:25
Оценка:
Здравствуйте, kronprince, Вы писали:

K>на 1МБ глобальных переменных ????

K>а не многовато ли для 10К програмки ???

Нет не много. Еще там выделяется место под стек, хип и т.п. Причем всегда есть возможность уменьшить эти размеры. А к чему вообще этот вопрос? И почему вообще должно быть мало? Например для того, чтобы в Java вывести "Hello world" на консоль нужно загрузить порядка 600-700 классов.
Re[3]: О разнице между Microsoft VC vs Borland CB
От: Atilla Россия  
Дата: 08.01.03 09:29
Оценка:
Здравствуйте, kronprince, Вы писали:

K>на 1МБ глобальных переменных ????

K>а не многовато ли для 10К програмки ???

ну heap, например... кстати, погляди сколько занимает msvcrt*.dll и пр.
... << RSDN@Home 1.0 beta 4 >>
Кр-ть — с.т.
Re[4]: О разнице между Microsoft VC vs Borland CB
От: kronprince Украина  
Дата: 08.01.03 09:35
Оценка:
Здравствуйте, Atilla, Вы писали:

A>ну heap, например... кстати, погляди сколько занимает msvcrt*.dll и пр.


Ну да — msvcrt*.dll — до 300К — это понятно — но не все же там ДАННЫЕ
Re: О разнице между Microsoft VC vs Borland CB
От: Михаил  
Дата: 10.01.03 15:03
Оценка:
Здравствуйте, kronprince, Вы писали:
K>создаем пустой проект с использованием Microsoft VC и Borland CBuilder и получаем ЕХЕ-шники соответственно в 7К и 10К.
K>Количество памяти выделенного виндой под эти проги (если верить taskmgr W2K) составляет около 500К для VC и 1100К для BCB.
K>Вопрос ?
K>откуда такая разница в объеме выделеной памяти ???
K>и вообще почему ТАК МНОГО ???

А КАКАЯ это память? Скорее всего это DLL-ки — то есть "общая" память. Стэк — второй кандидат. Но если не нравится большой стэк — это можно урезать в опциях.
Если хочешь чтобы погадали — пришли дамп или чего там пишется про память. Или поищи более продвинутый анализатор.
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re: О разнице между Microsoft VC vs Borland CB
От: Akzhan Россия http://www.akzhan.midi.ru/devcorner/
Дата: 11.01.03 15:49
Оценка:
Здравствуйте, kronprince, Вы писали:

K>К сожалению не очень хорошо разбираюсь в механизме выделения памяти в Windows

K>Количество памяти выделенного виндой под эти проги (если верить taskmgr W2K) составляет около 500К для VC и 1100К для BCB.
K>Вопрос ?
K>откуда такая разница в объеме выделеной памяти ???
K>и вообще почему ТАК МНОГО ???

О, Вы затронули очень давний вопрос, ответ на который на самом деле очень прост: эти всего лишь разные настройки на рабочий размер набора страниц процесса. Можете в приложении (при старте, например) явно задать SetProcessWorkingSetSize, и результат Вас обрадует.

Иначе говоря, не забудьте вставлять этот вызов в Ваших приложениях, и, во-вторых, не обращайте на сию характеристику много внимания. Значимы такие ресурсы, как кол-во хэндлов.

Кстати, дополнительно могу отметить, что в GUI-приложениях объём занимаемой процессом памяти может сильно уменьшиться при такой тривиальной операции, как сворачивание окна. Этим иногда пользуются авторы tray apps.
С уважением,
Акжан, http://www.akzhan.midi.ru/devcorner/ — мой уголок разработчика
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.