我正在构建一个应用程序,我不断地进行查询,返回可以包含5,000 - 50,000个csv元素的唯一数据集。将所有这些查询保留在内存中似乎效率很低。数据集用于数据可视化。有没有人建议如何处理这个问题?或者我应该抛弃redux / immutable.js?
答案 0 :(得分:1)
我已经使用大型JSON
文件(22mb
)测试了不可变项,并且您正确认为非常效率低下。特别的痛点是互联网浏览器;减少和过滤该组数据几乎需要30s
。我不认为这是Immutable.js的错误,但是,它的目标不是在一次核数据爆炸中处理250,000项JSON(这是我在这种情况下测试的,找到关于特定过滤的浏览器计算限制的极限)。但重要的是要注意它不是一个主要为速度而设计的图书馆。
然而,本地对象在IE12上将时间降至最多6s
(具有讽刺意味的是11更快,但他们你去了)。但平均值介于1-2s
之间。
因此,简而言之,我不会对大型数据集使用不可变,我会使用本机对象,如果你有特定的设计原因,可能会使用Immutable作为大型数据集的一个子集。