Re[2]: менеджер памяти с выгрузкой данных на диск
От: Hydrophobia  
Дата: 23.12.11 10:44
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>On 12/23/2011 01:48 PM, Аноним 431 wrote:


>> есть некая готовая библиотека, довольно таки большая. Все работает замечательно

>> за исключением одного момента — все данных хранятся в памяти (промах
>> архитекторов). С этим возникают некоторые проблемы — при больших объемах данных
>> библиотека упирается в размеры доступной памяти.

MZ>В какой размер памяти она упирается ?


создается PDF документ с 10000+ страницами.

MZ> Возникла идея сделать фикс —

>> выгружать не используемые блоки данных на диск. Вижу несколько путей решения:
>> — написать свой менеджер памяти / доработать существующие

MZ>Идея дурацкая. Лучше перенести всё на платформу с поддержкой виртуальной

MZ>памяти. это и все современные Win, и любой Lin / Unix.
MZ>Если не хватит 32битной памяти -- перенесите на 64 бита.

библиотека существует в 2х вариантах, уточняю, какой пользуется кастомер.

>> Минус идеи — слишком много исправлений по всей библиотеке (замена всех вызовов

>> new/delete/malloc/free своими)

MZ>Это как раз не проблема. Минус идеи в том, что выделение памяти -- не то

MZ>место, где ты сможеш выгруженную память подгружать обратно.
MZ>Это надо делать при доступе к памяти, при чтении даже.
MZ>Это тебе надо грубо говоря заменить весь доступ к внутренним массивам
MZ>данных на вызовы своих функций, где ты будеш проверять, что что-то не
MZ>загружено, и подгружать (выгружая другое).

MZ>Либо -- написать свой менеджер виртуальной памяти. А нафига его

MZ>писать, если они уже есть ?

MZ>...


MZ>Это всё неверные идеи. Тебе надо переопределять ДОСТУП к памяти, а не

MZ>выделение её. Мэнеджера памяти тут мало.

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.