Я вычисляю очень большие массивы (около 100 миллионов целых чисел, и это 9000 раз), и весь массив не помещается в памяти. Поэтому я записываю их в файл .hdf5 кусками, которые умещаются в моей памяти. Также я использую сжатие "lzf", потому что .hdf5 становится большим для моего SSD.
После этого я снова читаю куски из файла hdf5 по очереди и выполняю некоторые другие вычисления (которые возможны, только если все столбцы массив доступен для каждой строки). Размеры составляют около 100 миллионов x 9000.
Итак, чтобы подвести итог:
рассчитать один столбец (100 миллионов записей) -> записать в hdf5
читать из hdf5 -> вычисления на один ряд
Скорость вроде нормальная, но я не знаю, есть ли лучшие способы ускорить это. Еще одна дополнительная информация о массивах, которые я могу дать: их немного. Так что около 90% всего этого - нули.
Спасибо за вашу помощь.