У меня есть трехмерный список вроде этого:
List<List<List<Vector128<byte>>>> dimensionLIST = new List<List<List<Vector128<byte>>>>();
Теперь, когда я заполняю этот список данными, которые использую для вычислений, он займет 20 ГБ оперативной памяти.
На вычисления, которые я делаю, уходит 10 часов. Итак, я создал решение, в котором я открываю 10 экземпляров приложения, в котором я разделил работу на 10 частей, в результате чего расчет займет всего 1 час (у меня в компьютере 24 ядра)
Проблема в том, что каждый экземпляр приложения формы должен будет прочитать это dimensionLIST
, что означает, что это займет 20 ГБ * 10 = 200 ГБ ОЗУ, что просто не является решением *. 1012 *
Мой вопрос: есть ли возможность поместить это dimensionLIST
в какую-то переменную системного глобального списка, к которой могут получить доступ все 10 экземпляров?
( Следует отметить, что я не могу разделить это dimensionLIST
на 10 частей, потому что каждому экземпляру действительно нужен весь список)
Спасибо!