Подскажите, пожалуйста, оптимальный способ хранения большого кол-ва (100-500) векторов размера около 1 Мб, при условии, что
1. В конкретный момент времени нужны только несколько из них (~4 шт), а остальные не используются
2. Создаются все вектора за один раз, общее кол-во известно и не изменяется.
3. После создания вектора не изменяются
4. Выбор векторов при чтении случаен, но высокое быстродействие при этом не требуется.
Сейчас все в куче. Планирую сделать FileMapping внешнего файла, где все и хранить. Проецировать только то, что нужно в данный момент. После испольования проекцию снимать.
Насколько стоящие эти переделки?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Pavel Anufrikov, Вы писали:
PA>Сейчас все в куче. Планирую сделать FileMapping внешнего файла, где все и хранить. Проецировать только то, что нужно в данный момент. После испольования проекцию снимать.
В целом, Вы идете в правильно м направлении — хранение во внешнем хранилище (файл, база и т.д.) совмещенное с отложенной загрузкой хорошее решение. Чтобы немного ускорить работу можно рассмотреть стратегии управления ресурсами
Если Вы работаете с .NET, можно посмотреть в сторону WeakReference.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Г>Оптимальн это конечно хранить в файле это однозначно, как реализовать это другой вопрос.В одной книге была реализация, если интерестно то я те ее скину.
Конечно интересно, скинь, пожалуйста. Можно в почту apaex(аt)ngs.ru
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>