我需要处理3D立方体数据。其元素数量可能达数十亿。我知道我无法在Windows上分配太多内存。所以我正在考虑使用进程内数据库进行基于磁盘的操作。有没有更好的方法来做到这一点?也许有什么提升?如何在C++中处理大小为1,000,000,000的数组?
更新:我最终必须提供绘图浏览功能。
更新2:下面的文章似乎是使用内存映射文件的一个很好的解决方案。我会尝试它并再次更新。 http://www.codeproject.com/Articles/26275/Using-memory-mapped-files-to-conserve-physical-mem
好吧,Win7的临高达192GB,这是以上几种支持大型阵列相当有用,我认为:) – 2012-03-06 17:11:50
请解释你正在试图处理你的数据。有了这么多的元素,你真的想仔细考虑你正在努力完成什么。您将运行的算法将确定适当的数据结构。例如,我想你可能实际上是在谈论一个1000x1000x1000立方体,也许大部分元素都是空的。也许你想要一棵八叉树。但也许需要完全不同的东西。我们需要更多信息。 – 2012-03-06 17:12:32
@AlanBaljeu我希望你的猜测是对的。但立方体是另一个密集维度的图像。所以我需要这么大的尺寸,所有的元素都同样重要。 – 2012-03-06 17:16:08