Главная страница
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.014 c
1-100002
Илья
2002-01-15 09:48
2002.01.31
RichEditControl


3-99912
RoadRunner
2001-12-28 20:57
2002.01.31
Помогите новичку со вставкой данных


4-100124
star
2001-11-28 12:35
2002.01.31
Клавиатурные шпионы ...


1-99963
DW
2002-01-14 10:45
2002.01.31
Как выделить кусок текста другим цветом?


3-99925
DarT
2001-12-28 12:07
2002.01.31
Два вопроса