我正在做一些需要初始化大数组的计算.数组的最大大小决定了我可以解决的问题的最大大小.
有没有办法以编程方式确定可用的内存量,可能的最大字节数?
谢谢
好吧,依赖于一个巨大的数组有一系列相关的问题 - 内存碎片,连续块,最大对象大小的限制等.如果你需要大量数据,我建议创建一个模拟大数组的类使用大量较小(但仍然很大)的数组,每个数组都是固定大小的 - 即索引器除以找到合适的数组,然后使用%来获取该数组内的偏移量.
您可能还希望确保您使用的是具有大量内存的64位操作系统.这将为您提供最大可用空间.
根据场景,可以使用更复杂的算法(如稀疏数组,eta向量等)来最大化您可以执行的操作.你可能会惊讶于几年前人们可以用有限的记忆做什么,而只是一个前后旋转的磁带......