Я выполняю итерационные вычисления в сети потоков, в ходе которых мне нужно записать, какой вклад каждый источник вносит в поток на каждом ребре. Поток на любом одном ребре обусловлен в среднем 2% источников, поэтому я определяю vector > flow
, где flow[e][s] = f
означает, что поток на ребре e
из-за источника s
равен f
. На каждой итерации каждый f
в потоке
обновляется.
Пиковое использование памяти программой приближается к 4 ГБ. Это работает в (32-разрядных) Linux и OS X, но происходит сбой в Windows (что, кажется, налагает ограничение 2 ГБ на процесс).
Как я могу реализовать структуру данных на основе диска с интерфейсом vector >
(или обойти эту проблему другим способом)?