память, жадность и с++
От: VGV  
Дата: 10.11.02 08:07
Оценка:
Задался я целью написать програмку под Вин(с++ и АПИ) которая занимала бы минимум памяти, но вот такая незадача-ЛЮЬАЯ прога на любом языке занимает в памяти около 600 кб (хоть вечный цикл на asm) а ведь у виндов есть прцессы которые занимают 20-30 кб
Что делал:
ограничил оазмер стека и кучи до 4096 б не помогло
написал на asm аналогично
собственно вопрос:
что можно предпринять для уменьшения потребляемой памяти и куда идут эти 600 кб?
Re: память, жадность и с++
От: &reY Украина http://www.livejournal.com/~1000turov/
Дата: 12.11.02 11:02
Оценка:
Здравствуйте VGV, Вы писали:

VGV>Задался я целью написать програмку под Вин(с++ и АПИ) которая занимала бы минимум памяти


http://rsdn.ru/?article/default.asp?cpp/crt.xml
Автор(ы): Виталий Брусенцев
Дата: 19.01.02
Статья посвящена вопросам оптимизации размера выполняемых модулей, генерируемых различными
компиляторами C++ (основное внимание уделено MS Visual С++). С этой целью рассматриваются особенности Библиотеки исполнения C/C++ и ее реализаций, а также процессы компиляции и компоновки приложений. Приведены практические приемы, позволяющие в ряде случаев уменьшить размер приложения до величины 3-4 килобайта.
Re[2]: память, жадность и с++
От: VGV  
Дата: 12.11.02 13:31
Оценка:
Здравствуйте &reY, Вы писали:

&Y>Здравствуйте VGV, Вы писали:

VGV>>Задался я целью написать програмку под Вин(с++ и АПИ) которая занимала бы минимум памяти


&Y>http://rsdn.ru/?article/default.asp?cpp/crt.xml
Автор(ы): Виталий Брусенцев
Дата: 19.01.02
Статья посвящена вопросам оптимизации размера выполняемых модулей, генерируемых различными
компиляторами C++ (основное внимание уделено MS Visual С++). С этой целью рассматриваются особенности Библиотеки исполнения C/C++ и ее реализаций, а также процессы компиляции и компоновки приложений. Приведены практические приемы, позволяющие в ряде случаев уменьшить размер приложения до величины 3-4 килобайта.



Спасибо за ссылку!
С размером екзешника я разобрался но куда идут 600Кб памяти?
Re[3]: память, жадность и с++
От: &reY Украина http://www.livejournal.com/~1000turov/
Дата: 12.11.02 14:01
Оценка:
Здравствуйте VGV, Вы писали:

VGV>Спасибо за ссылку!

VGV>С размером екзешника я разобрался но куда идут 600Кб памяти?

да просто винда сжирает, может у неё по умолчанию под свои внутрение структуры сразу столько выделяется ;(
Re: память, жадность и с++
От: AndreyT  
Дата: 12.11.02 14:40
Оценка: 2 (1)
Здравствуйте VGV, Вы писали:

VGV>Задался я целью написать програмку под Вин(с++ и АПИ) которая занимала бы минимум памяти, но вот такая незадача-ЛЮЬАЯ прога на любом языке занимает в памяти около 600 кб (хоть вечный цикл на asm) а ведь у виндов есть прцессы которые занимают 20-30 кб

VGV>Что делал:
VGV>ограничил оазмер стека и кучи до 4096 б не помогло
VGV>написал на asm аналогично
VGV>собственно вопрос:
VGV>что можно предпринять для уменьшения потребляемой памяти и куда идут эти 600 кб?

Декларируемый размер стека не особо повлияет. Так реально выделяется несколько физических страниц. Остальное — виртуальное.
А 600K — это что? VM size?
Наверное, часть из этого — просто виртуальное пространство. То есть, на физическую память не отображено.
Да и если есть committed память, не используемая процессом, она все равно будет впоследствии отожрана memory manager в пользу нуждающихся. Хотя конечно, без какого-то overhead не обойтись.
Я бы смотрел на размер non-paged pool.
Re[4]: память, жадность и с++
От: VGV  
Дата: 13.11.02 06:32
Оценка:
&Y>да просто винда сжирает, может у неё по умолчанию под свои внутрение структуры сразу столько выделяется ;(

Вот эото будет очень плохо если так (как одну из версий оставим). Стондартные билиотеки я отключил, стек и кучу уменьшил...что ещё можно сделать я незнаю может каким продвинутым менеджером процессов посмотреть куда расодуется ОЗУ?(GDI или USER объекты всякие?).
ЗЫ эксперемент такой :
запускаем прогу, минимизируем и занимаемая память уменьшается, максимизируем — увеличивается НО НЕМНОГО!(до 230 Кб)
Re[2]: память, жадность и с++
От: VGV  
Дата: 13.11.02 06:50
Оценка:
Здравствуйте AndreyT, Вы писали:
AT>Я бы смотрел на размер non-paged pool.
это видимо и есть постоянно используемая память? а остально идет в файл_подкачки?
1Кб всего ... зачит всё не очень страшно?
Re[5]: память, жадность и с++
От: &reY Украина http://www.livejournal.com/~1000turov/
Дата: 13.11.02 12:45
Оценка:
Здравствуйте VGV, Вы писали:

VGV>Вот эото будет очень плохо если так (как одну из версий оставим). Стондартные билиотеки я отключил, стек и кучу уменьшил...что ещё можно сделать я незнаю может каким продвинутым менеджером процессов посмотреть куда расодуется ОЗУ?


запусти на неё монитор, поставь чтобы мониторил все интересное подряд, вдруг что увидишь интересное
Re: память, жадность и с++
От: McSeem2 США http://www.antigrain.com
Дата: 14.11.02 02:43
Оценка:
Вопрос так и остается без ответа. Как написать программу, типа { "Hello World"; wait(forever); }, которая занимала бы, скажем, 50k? Имеются в виду показания Task Manager.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re: память, жадность и с++
От: VGV  
Дата: 14.11.02 06:44
Оценка:
Всётаки прога 600Кб памяти и занимант--если её сзапустить и сворачивать разворачивать то именно столько и меняется
Никто случайно не знает откуда "System idle" берёт своё начало? (Я его расковыряю...)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.