Haskell海量数组大小限制



如果Massiv以及其他数组库使用Int进行索引,那么如何构建和索引大于2^29个元素的数组?Int只能等于2^29。我注意到在源代码中线性索引是用于数组操作,以及,所以我认为只是写一个矢量作为一个二维数组仍然会有同样的问题。

在Massiv内是否有解决方案,或者是否有另一个数组库适合具有超过2^29个元素的数组?

编辑:@Thomas刚才提到Int的maxBound是机器相关的。然而,我仍然想知道如何索引元素数量大于Int的maxBound的数组。

无法在内存中创建包含超过maxBound :: Int元素的列表,因为Int的大小通常期望足以覆盖整个可寻址内存空间。因此,在您的系统中,长度大于maxBound :: Int的假设列表或数组不适合在可寻址内存中存储,因此不需要一种机制来索引这种结构。

最新更新