对象分解与分配(性能)

问题描述 投票:-2回答:1

我正在考虑对象分解与分配的性能。我做了一个简单的测试:

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);

我正确吗?在此测试中,End1显示172ms,End2显示138ms。这真的很简单,我认为在更复杂的功能中,它可能会带来更大的变化。我找不到任何包含基准或语句的文章,这些文章可以证明使用结构化分配方法会带来好处。此解决方案是否还有其他优点或缺点,例如内存效率,代码质量或类似优点?

javascript performance object processing-efficiency memory-efficient
1个回答
0
投票

您可以看到在FireFox上执行过的测试:https://www.measurethat.net/Benchmarks/ShowResult/57602

在此测试中,assign获胜。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.