Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.31;
Скачать: CL | DM;

Вниз

Сводим к минимуму объем памяти, занимаемой программой   Найти похожие ветки 

 
Vladimir Bolotin   (2002-01-10 20:57) [0]

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


 
Вадим   (2002-01-10 21:13) [1]

Любая программа под Вин с окном будет занимать в памяти > 1Mb


 
evgeg   (2002-01-11 00:04) [2]

> Вадим
С какой это стати?


 
Vladimir Bolotin   (2002-01-11 00:37) [3]

Да. с какой?
Более того это АБСОЛЮТНО не так..

Так что вопрос остается в силе!


 
SergVlad   (2002-01-11 00:54) [4]

Intel C/C++


 
Fellomena   (2002-01-11 12:04) [5]

>> Любая программа под Вин с окном будет занимать в памяти > 1Mb

Мне кажется, что имеется ввиду не физическая память (размер файла), а размер адрессного пространства, занимаемый программой в оперативной памяти.
Действительно, даже если вы сделаете на Delphi программу без формы типа:

...
uses Windows
begin
MessageBox(0, "Text", "Caption", 0);
end;

и запустив её посмотрите сколько она занимает в памяти, то будете удивленны (я была) она занимает там около 1.6 Mb (!!!)
Алексей Петров предположил, что 1 мегабайт съедается большим (по умолчанию в Delphi) размером стэка, но я установила его на минимум (65525 bt) и ничего не изменилось.
К примеру AVP монитор занимает около 700-800 kb.
Просто, как мне кажется, Borland в ущерб оптимизации кода сделал свой компилятор быстрым.
Кто работает на С++ знают, что скорость компилирования у C++ гораздо ниже чем у Delphi, но при этом код оптимизируется гораздо лучше.

У кого какие мысли ?


 
NailS   (2002-01-11 15:14) [6]

ИМХО, все дело в длл-ях, используемых программой.
Например, ole32.dll, oleaut32.dll и иже с ними.


 
Vladimir Bolotin   (2002-01-11 21:58) [7]

Да, и в нех тоже.
Например, если делать следующую выгрузку

{$IFDEF WIN32}
FreeLibrary(GetModuleHandle("OleAut32"));
{$ENDIF}

то можно высвободить определенное кол-во памяти.

Т.о. меня интересуют еще какие-либо способы оптимизации использования памяти.

А про СИшный компилятор все верно сказано. И вариант перехода на VC++ мне тоже понравился.. :-)


 
evgeg   (2002-01-11 22:30) [8]

Виндовс 95.
Дельфи 2.
Проект - форма, на которой лежит кнопка
Размер exe - 181 248 b
Размер в памяти - 208.7 K

Yes Another Calculator
Размер exe - 23 040 b (один из самых маленьких калькуляторов по размеру exe, написан на
VC, использует mfc42.dll)
Размер в памяти - 1.5 M (!)

Измерено с помощью Memload 2.0.

Так что, господа и дамы, что-то вы путаете с 1 Mb.


 
DK   (2002-01-12 05:19) [9]

2evgeg © (11.01.02 22:30)
Только один ньюанс:
Если вы на форму кинете Image1 и по клику на кнопке загрузите к примеру 2МБ Битмап, а потом глянете в MemLoad, то он вам покажет столько-же (???)
НТ-шный TaskManager показывает в данной ситуации использование памяти точнее.



Страницы: 1 вся ветка

Текущий архив: 2002.01.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
6-100030
FD
2001-11-08 13:16
2002.01.31
Объясните новичку


3-99868
AlexP
2001-12-26 22:09
2002.01.31
Mетафайлы


3-99872
romaniy
2001-12-26 23:37
2002.01.31
изменяется autoincrement поле


1-99973
saviola
2002-01-14 15:35
2002.01.31
Работа с MainMenu


7-100084
Sergy
2001-10-18 17:32
2002.01.31
Выкллючить комп