-
оба эти менеджера памяти заявлены как "Быстрый и небольшой менеджер памяти" при этом если использовать тест из FastMM
program test;
uses windows, KOL;
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
DoTest( 'Test' );
end.
то HeapMM в 3 раза тормозней чем системный 18\6 сек. а FastMM 5\6 сек. вопрос зачем нужен HeapMM вообще? и стоит ли считать FastMM реально фастом?
-
> вопрос зачем нужен HeapMM вообще?
Много велосипедов нужных и важных ). Вроде вначале был он, FastMM появился позже.
> и стоит ли считать FastMM реально фастом?
В свое время остановился на FastMM4 - к KOL не имеющего никакого отношения - пусть и побольше, но зато быстрее и содержит массу полезностей. Коловский fastmm - вроде бы еще и подглючивал. В общем использовать FastMM или HeapMM, нужно, когда используем замену системных файлов.
-
FastMM4 пофастее 4\6 сек но гиганск
> нужно, когда используем замену системных файлов.
это как ?
-
Ряд файлов, типа System.pas заменяются на "оптимизированные", почитайте на сайте KOL. Что касается менеджеров памяти в разных случаях их производительность разная - но в подавляющем большинстве FastMM4 рулит ) + хорошо показывает утечки памяти. Что касается размеров тут уж каждый решает по своему, но по мне хрен с ним с размером лишь бы работало шустро.
-
В эту же тему. Есть ли менеджер памяти, который был бы компактней остальных? я вот что имею ввиду: я написал небольшую программку по мониторингу системных показателей - ну там загрузку процессора, оперативки и прочих мелочей.
да, да, да, я знаю - это тысяча первая программа такого рода. :)
так вот, при запуске программы процесс отжирает 17 мегабайт оперативки!!! а потом после нескольких часов работы "устаканивается" до 3 мегабайт наверное остальное падает в файл подкачки как "редко используемая". А лишние мегабайты я так понимаю нужны для того, чтобы программа меньше тормозила при запуске, когда в ней активно используется выделение памяти под тучу создаваемых объектов.
формы нет, контролов нет. Это чисто консольное приложение. Есть только аплет и небольшое дерево объектов. Пользуюсь строками.
глянул в описание этого FastMM там быстродействие достигается ценой дикого перерасхода оперативки.
вот собственно возник вопрос: есть ли, пусть медленный, но компактный менеджер памяти, который жрет по минимуму?
-
17 - это многовато конечно, даже с учетом того, что в диспетчере показывается память программы + память, занятая всеми подключенными dll, включая и те, что подключены косвенно из этих dll. Должно быть как раз 3-4М. Львиную долю из них, около 3М с хвостиком - это ole32 и oleaut32.dll. Но они и так всегда загружены. Надоело уже одно и то же.
|