Главная страница
    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.005 c
1-100011
kserg@ukr.net
2002-01-15 12:40
2002.01.31
Про меню (в смысле про TMainMenu)


1-100005
AndreyP
2002-01-15 10:32
2002.01.31
Количество принтеров в системе


1-99931
starik
2002-01-12 22:40
2002.01.31
Уменьшить размер пикселя


1-99982
roman001
2002-01-11 19:35
2002.01.31
Эмуляция нажатия клавы


4-100122
Котелок
2001-12-05 09:40
2002.01.31
Подскажите Plss...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский