Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
1-65844
slivka
2003-11-09 22:50
2003.11.20
Проблемма с Function. Подскажите что я сделал не так .


1-65954
vvvvvvv
2003-11-11 10:56
2003.11.20
Как наити форму MDIChild по какому-нибудь признаку?


3-65770
sashag
2003-10-30 13:03
2003.11.20
CrossTab в Interbase


1-65921
Pattern
2003-11-07 14:20
2003.11.20
Чтение hex-файла


3-65733
Pul
2003-10-31 14:19
2003.11.20
Как получить список серверов Interbase в сети




   Наверх