我需要處理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