Структура данных внешней памяти для замены вектора карт.

Я выполняю итерационные вычисления в сети потоков, в ходе которых мне нужно записать, какой вклад каждый источник вносит в поток на каждом ребре. Поток на любом одном ребре обусловлен в среднем 2% источников, поэтому я определяю vector > flow, где flow[e][s] = f означает, что поток на ребре eиз-за источника sравен f. На каждой итерации каждый fв потокеобновляется.

Пиковое использование памяти программой приближается к 4 ГБ. Это работает в (32-разрядных) Linux и OS X, но происходит сбой в Windows (что, кажется, налагает ограничение 2 ГБ на процесс).

Как я могу реализовать структуру данных на основе диска с интерфейсом vector > (или обойти эту проблему другим способом)?

6
задан zoo 18 June 2012 в 16:32
поделиться