React native 在为React Native编写的领域中,代码的性能是否受到影响?
我有一个大的切换案例,每个案例都会做一些工作,把它需要的东西组合起来,生成一个特定的数据库对象,然后是realm.create对象。确保持久性的最简单方法是将整个开关/案例放入realm.write中。这会降低每个案例中运行的代码的速度吗React native 在为React Native编写的领域中,代码的性能是否受到影响?,react-native,realm,React Native,Realm,我有一个大的切换案例,每个案例都会做一些工作,把它需要的东西组合起来,生成一个特定的数据库对象,然后是realm.create对象。确保持久性的最简单方法是将整个开关/案例放入realm.write中。这会降低每个案例中运行的代码的速度吗 realm.write(() => { let x, y; switch (condition) { case 'x': x = //some work to generate the x object realm
realm.write(() => {
let x, y;
switch (condition) {
case 'x':
x = //some work to generate the x object
realm.create('X', x);
break;
case 'y':
y = // some work to generate the y object
realm.create('Y', y);
break;
}
});
另一种方法是,在使用create的任何情况下,使用一个变量来保持arrow函数,并在末尾使用arrow函数调用realm.write。很高兴这样做,但好奇是否有任何好处
let x, y, writeFunc;
switch (condition) {
case 'x':
x = //some work to generate the x object
writeFunc = () => realm.create('X', x);
break;
case 'y':
y = // some work to generate the y object
writeFunc = () => realm.create('Y', y);
break;
}
realm.write(writeFunc);
您的两个代码示例的性能大致相同。可以在写块中执行其他代码,因此我会选择最干净/最简单的选项 在考虑性能时,您唯一需要真正担心的是事务太多。理想情况下,您应该尽量减少拥有的事务数量,并在一个单写事务中批处理多个操作(创建、变异、删除),而不是每个操作都有一个事务。当同时写入多个对象时,速度会显著加快,如果您正在执行许多操作,那么批处理它们会对性能产生真正的影响