javascript 可能会让人感觉与其运行的硬件非常相隔,但低级思考在有限的情况下仍然有用。
kafeel ahmad 最近发表的关于循环优化的文章详细介绍了许多循环性能改进技术。那篇文章让我思考了这个话题。
过早的优化
为了解决这个问题,这是一种很少有人在 web 开发中需要考虑的技术。此外,过早关注优化可能会使代码更难编写、更难维护。了解底层技术可以让我们深入了解我们的工具和一般工作,即使我们无法直接应用这些知识。
什么是循环展开?
循环展开基本上复制了循环内的逻辑,因此您可以在每个循环期间执行多个操作。在特定情况下,让循环中的代码更长可以使其更快. 通过有意识地以
分组而不是逐一执行某些操作,计算机可能能够更有效地运行。 展开示例
让我们举一个非常简单的例子:对数组中的值求和。
// 1-to-1 looping const simplesum = (data) => { let sum = 0; for(let i=0; i < data.length; i += 1) { sum += data[i]; } return sum; }; const parallelsum = (data) => { let sum1 = 0; let sum2 = 0; for(let i=0; i < data.length; i += 2) { sum1 += data[i]; sum2 += data[i + 1]; } return sum1 + sum2; };
网友留言2