Главная страница
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.09 c
14-66097
Alexey Lipatov
2003-10-25 14:25
2003.11.20
Специальности программистов


6-66053
mutant
2003-09-25 13:45
2003.11.20
Как узнать тип соединения???


3-65783
IGORYOK
2003-10-29 23:53
2003.11.20
Никто не слышал как в Дельфи менять местами записи ADO-таблицы


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


11-65804
Boguslaw
2003-03-03 12:28
2003.11.20
Before GOODWELL