Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.20;
Скачать: CL | DM;

Вниз

Вопрос про организация менеджера памяти   Найти похожие ветки 

 
Тимохов   (2003-11-11 15:07) [0]

Добрый день, знатоки.

Знимаюсь тут оптимизацией памяти для структуры данных с достаточно большим количество элементов. Структура данных схожа с XML, кол-во тегов порядка 1 000 000 штук. Пока это сделано отдельными объектами.

В настоящий момент ведется работа (уже почти доделана) по изменению в предке для всех тегов методики выделения памяти под объект. Для этой цели переписаны методы NewInstance и FreeInstance. Все прекрасно работает, получено при некторых сочетаниях данных 50% экономия памяти (в примере с 1 000 000 штук тегов это порядка 30 мегов).

При этом обнаружен такой интересный эффект: по данным функции AllocMemSize до переделки и после переделки памяти занимается одинаковое количество, а по данным монитора процессов - разное.

Предполагаю почему так происходит: дело в том, что AllocMemSize говорит только о количестве выделенной памяти (т.е. той памяти, которую явно выделил программист), но при этом здесь ничего не говорится о накладных расходах на каждый блок памяти.

Поэтому вопрос! Как в дельфи организован менеджер памяти? Сколько байт памяти накладных расходов требуется на каждый блок памяти?


 
MBo ©   (2003-11-11 15:11) [1]

http://rsdn.ru/article/Delphi/memmanager.xml


 
Romkin ©   (2003-11-11 15:12) [2]

Менеджер памяти очень хорош у Delphi, он оптимизирован под выделение малых блоков памяти.
http://rsdn.ru/article/Delphi/memmanager.xml


 
Тимохов   (2003-11-11 15:12) [3]

Спасибо...
Круто...



Страницы: 1 вся ветка

Текущий архив: 2003.11.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-65775
F...
2003-10-27 05:46
2003.11.20
Многопользовательский доступ к dbf из программ на Delphi


1-65831
Vlad Oshin
2003-11-10 09:53
2003.11.20
Как перебрать все контрлы на форме?


6-66029
I_Sword
2003-09-24 18:29
2003.11.20
MAC адреса компьютеров в локальной сети


1-65935
-=GaLaN=-
2003-11-11 19:06
2003.11.20
Environment Variables


3-65761
France
2003-09-22 19:14
2003.11.20
Как создать базу данных динамически для Interbase6.0 FireBird1.x?