ann*_*ist 0 c++ linux gcc memory-management multidimensional-array
我正在使用g ++编译器在ubuntu中开发一个cpp项目,我需要创建一个大小为1000000x1000000 = 10 ^ 12个元素的矩阵,其条目是布尔变量.但是我的g ++编译器允许我将空间分配给大约1000x1000个元素.如何克服这个巨大的矩阵分配空间的问题?
你不能,除非你有至少125GB的RAM(假设你只需要一个比特bool).如果你真的需要大的结构,你需要购买大量的RAM或考虑磁盘上的算法.
但是解决问题的可能性实际上并不需要10 ^ 6 x 10 ^ 6阵列,所以你应该首先重新考虑你的算法.
有些库允许磁盘上的数据结构(http://roomy.sourceforge.net/可以想到,另一个是我现在无法回想起的名字),但磁盘访问速度比RAM低几个数量级.除非您仔细考虑过这一点,否则您可能对基于磁盘的解决方案的性能不满意.
| 归档时间: |
|
| 查看次数: |
1498 次 |
| 最近记录: |