Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
14-100050
Orest
2001-12-05 22:28
2002.01.31
GifAnimator, ОЧЕНЬ НУЖНО!!!!!!!!!!!!!!!!!!!


3-99855
victor
2001-12-25 14:15
2002.01.31
переход с Парадокса на Оракле


3-99869
mcmax
2001-12-24 23:36
2002.01.31
SQLPASSTHRU MODE= SHARED AUTOCOMMIT


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


1-99968
DeNNiss
2002-01-14 13:40
2002.01.31
Уважаемые Мастера!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский