在dolphindb手册中,构建它们的功能看起来很熟悉:
x = bigarray(int,10,10000000,1);
x = array(int,10,10000000,1);
我还可以建立一个相同长度的数组。 但是我很感兴趣。它们之间是否有一些区别(功能,操作)?
答案 0 :(得分:0)
在DolphinDB中,大数组是专门为高级用户设计的大数据分析工具。常规数组使用连续内存。如果连续内存不足,则会发生内存不足异常。一个大阵列由许多小存储块而不是一个大存储块组成。因此,大阵列有助于缓解内存碎片问题。但是,对于某些操作,这可能会带来轻微的性能损失。对于大多数不需要担心内存碎片问题的用户,请使用常规数组而不是大数组。
大型阵列的最小大小或容量为16 MB。用户可以使用函数bigarray声明一个大数组。常规数组上的函数和操作也适用于大数组。
当我们调用数组函数时,如果没有足够的连续内存块,或者如果数组占用的内存超过某个阈值(默认阈值是512 MB),则系统将创建一个大数组。我们可以通过将属性normalArrayMemoryLimit设置为其他值来覆盖配置文件中的默认阈值。