跟进这个主题:
Lots of null values in an array mean any harm?
我用node.js做了这个:
arr=[]
arr[1000]=1
arr[1000000000]=2
arr.sort()
我得到了
FATAL ERROR: JS Allocation failed - process out of memory
这样我就得到了问题(我无法在Yahoogle上找到它)为节点中的数组中的空条目实际分配了多少内存。我不打算使用10亿条,甚至不接近,但也许它还不值得分配内存...
谁知道我怎么检查?
答案 0 :(得分:1)
总而言之, node.js不为数组中未定义的值分配内存。我遇到的崩溃一定是个小故障,因为没有其他人可以重现它并安装最新的节点。 js版本也为我消除了这个问题。
答案 1 :(得分:-3)
引用数组正在分配x
因此分配arr [100000]将分配100 kb x 4b~ = 0.5Mb(近似值)
和YES,当然,如果你不打算使用所有数组,
你应该考虑一个HashMap,它只是一个数据结构..
HashMap最适合使用相对少量项目的大搜索范围。
无论哪种方式,都有解决方案来分配一个小数组,并根据需要扩展它,如果需要的话。