Главная страница
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.017 c
1-65920
Poof-poof
2003-11-08 04:40
2003.11.20
Как вставить в форму линк на сайт и ссылку на моё мыло? :)


3-65745
OlkaGTS
2003-10-31 16:55
2003.11.20
Ошибка ClientDataSet.LoadFromFile


8-66016
Puliay
2003-07-16 15:52
2003.11.20
Проигрывание мультимедиа файлов nonstop


3-65718
lmatveev
2003-10-30 13:35
2003.11.20
Как узнать номер строки с ошибкой в MS SQL Server?


1-65847
Barman
2003-11-09 18:28
2003.11.20
Кодировка