Javascript 对象分解与分配(性能)
我在考虑对象分解与分配的性能。我做了一个简单的测试:Javascript 对象分解与分配(性能),javascript,performance,object,processing-efficiency,memory-efficient,Javascript,Performance,Object,Processing Efficiency,Memory Efficient,我在考虑对象分解与分配的性能。我做了一个简单的测试: const ITERATIONS = 999999; const simpleObj = { a: 1, b: 2, c: 3 }; const newSimpleObj = { d: 4 }; const s1 = new Date().getTime(); for (let i = 0; i < ITERATIONS; ++i) { const n = Object.assign({}, simpleObj, newS
const ITERATIONS = 999999;
const simpleObj = { a: 1, b: 2, c: 3 };
const newSimpleObj = { d: 4 };
const s1 = new Date().getTime();
for (let i = 0; i < ITERATIONS; ++i) {
const n = Object.assign({}, simpleObj, newSimpleObj);
}
console.log('End1:', new Date().getTime() - s1);
const s2 = new Date().getTime();
for (let i = 0; i < ITERATIONS; ++i) {
const n = { ...simpleObj, ...newSimpleObj };
}
console.log('End2:', new Date().getTime() - s2);
const迭代次数=999999;
常量simpleObj={a:1,b:2,c:3};
const newSimpleObj={d:4};
const s1=新日期().getTime();
for(设i=0;i
我做对了吗?在本测试中,End1显示172ms,End2显示138ms。它非常简单,我认为在更复杂的函数中,它可能会产生更大的差异。我找不到任何带有基准测试或语句的文章,可以证明使用destructuring over assign方法有好处。这个解决方案还有其他的优点或缺点,比如内存效率、代码质量或类似的优点或缺点吗
更新:
我试过了,结果表明
分配
速度更快,但对象分解的优势几乎达到了45%。你可以看到FireFox上的一个测试:
在这个测试中,
assign
won.我想你的意思是解构(de-structure),而不是实际销毁对象?如果你真的是指从内存中删除对象(销毁),那么js中从内存中删除对象是通过垃圾收集进行的,你无法真正预测解释器何时会进行垃圾收集。是的,当然我在考虑解构,但是我的字典帮我完成了这项工作。Sorry很有趣,我试过了,结果表明assign
速度更快,但显示了对象解构的几乎45%的优势。