标签: c#
我需要处理一个大型的二维数组,其中包含超过1亿个单元格。首先需要填充矩阵,然后通过采用一行或一列来操作矩阵。矩阵的大小可能大于1 TB,在内存中找不到。
如何有效存储数组?主要操作是从行逐行(每次双倍[100k])快速保存它并快速读取到一行或一列的内存。
答案 0 :(得分:3)
您可以使用Memory Mapped Files。您基本上仍在使用数组,但允许内核选择要加载到内存中的部分。您还可以使用Fixed size buffers来读取内存映射文件的整个部分。