gpt4 book ai didi

javascript - 将大型集合保存到存储时,Redux 似乎很慢

转载 作者:行者123 更新时间:2023-11-29 23:08:53 25 4
gpt4 key购买 nike

简化情况:

我正在开发一个实时应用程序,它需要将大约 650 个对象作为数组保存到 Redux store 中。

该应用程序拥有 ReactJs - Redux - ImmutableJs - Reselect 技术栈。但我发现实际将数据保存到 Redux 存储中的速度变慢了。

使用 ImmutableJs 无关紧要。我创建了使用和不使用此框架的 POC,并且性能没有改变。

以下代码是我的SearchReducer

const searchReducer = (state = fromJS(defaultState), action) => {
switch(action.type) {
case SEARCHMUSICIAN:
const { searchTerm, results } = action.payload;

return state.set('searchTerm', searchTerm)
.set('foundMusicians', fromJS(results));

default:
return state;
}
};

什么可以解释经济放缓?对于更大的集合或同时处理大量数据,Redux 真的很慢吗?我是否缺少可以提高 Redux 性能的标志或配置?

Performance example without Immutable Performance example with Immutable

最佳答案

我想我们现在已经修好了。显然 Redux 对于大数组来说非常慢。我已将分派(dispatch)的有效负载转换为对象,现在保存到存储的延迟从 2-3 秒变为 30-50 毫秒。

我的猜测是 Redux 在使用较大的数组时在内部优化方面存在问题。当数组大小增加时,保存到存储的延迟也会呈指数增长。使用对象并增加属性或键的数量时也不会发生这种情况。

关于javascript - 将大型集合保存到存储时,Redux 似乎很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54182806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com