Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HeapMM vs FastMM [Delphi, Windows]


QAZ ©   (2009-06-05 10:20:00) 

оба эти менеджера памяти заявлены как "Быстрый и небольшой менеджер памяти"
при этом если использовать тест из FastMM

program test;

uses                //, FastMM;
 windows, KOL;//, HeapMM;

procedure DoTest( const title: String );
var t: DWORD;
   s: String;
   i, j: Integer;
begin
 t := GetTickCount;
 for i := 1 to 20 do
 begin
   s := '';
   for j := 1 to 1000000 do
     s := s + '*';
 end;
 MessageBox( 0, PChar( Int2Str( GetTickCount - t ) + ' ms' ), PChar( Title ), MB_OK );
end;

begin
 //Install_FastMM;
 DoTest( 'Test' );
end.


то HeapMM в 3 раза тормозней чем системный 18\6 сек.
а FastMM  5\6 сек.

вопрос зачем нужен HeapMM вообще?
и стоит ли считать FastMM реально фастом?


Vladimir Kladov   (2009-06-18 19:21:00) [1]

17 - это многовато конечно, даже с учетом того, что в диспетчере показывается память программы + память, занятая всеми подключенными dll, включая и те, что подключены косвенно из этих dll. Должно быть как раз 3-4М. Львиную долю из них, около 3М с хвостиком - это ole32 и oleaut32.dll. Но они и так всегда загружены. Надоело уже одно и то же.


Barloggg   (2009-06-18 16:11:00) [2]

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

да, да, да, я знаю - это тысяча первая программа такого рода. :)

так вот, при запуске программы процесс отжирает 17 мегабайт оперативки!!!
а потом после нескольких часов работы "устаканивается" до 3 мегабайт наверное остальное падает в файл подкачки как "редко используемая".
А лишние мегабайты я так понимаю нужны для того, чтобы программа меньше тормозила при запуске, когда в ней активно используется выделение памяти под тучу создаваемых объектов.

формы нет, контролов нет.  Это чисто консольное приложение.
Есть только аплет и небольшое дерево объектов. Пользуюсь строками.

глянул в описание этого FastMM там быстродействие достигается ценой дикого перерасхода оперативки.

вот собственно возник вопрос:
есть ли, пусть медленный, но компактный менеджер памяти, который жрет по минимуму?


exero   (2009-06-05 14:24:00) [3]

Ряд файлов, типа System.pas заменяются на "оптимизированные", почитайте на сайте KOL. Что касается менеджеров памяти в разных случаях их производительность разная - но в подавляющем большинстве FastMM4 рулит ) + хорошо показывает утечки памяти. Что касается размеров тут уж каждый решает по своему, но по мне хрен с ним с размером лишь бы работало шустро.


QAZ   (2009-06-05 11:56:00) [4]

FastMM4 пофастее 4\6 сек но гиганск

> нужно, когда используем замену системных файлов.

это как ?


exero   (2009-06-05 11:17:00) [5]


> вопрос зачем нужен HeapMM вообще?

Много велосипедов нужных и важных ). Вроде вначале был он, FastMM появился позже.

> и стоит ли считать FastMM реально фастом?

В свое время остановился на FastMM4 - к KOL не имеющего никакого отношения - пусть и побольше, но зато быстрее и содержит массу полезностей. Коловский fastmm - вроде бы еще и подглючивал.
В общем использовать FastMM или HeapMM, нужно, когда используем замену системных файлов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо