Re: менеджер памяти с выгрузкой данных на диск
От: MasterZiv СССР  
Дата: 23.12.11 10:28
Оценка: +1
On 12/23/2011 01:48 PM, Аноним 431 wrote:

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

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

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

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

Идея дурацкая. Лучше перенести всё на платформу с поддержкой виртуальной
памяти. это и все современные Win, и любой Lin / Unix.
Если не хватит 32битной памяти -- перенесите на 64 бита.

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

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

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

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

...

Это всё неверные идеи. Тебе надо переопределять ДОСТУП к памяти, а не
выделение её. Мэнеджера памяти тут мало.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.