gpt4 book ai didi

javascript - for 循环 vs for 循环反向 : performance

转载 作者:行者123 更新时间:2023-11-29 18:06:27 25 4
gpt4 key购买 nike

根据 What's the Fastest Way to Code a Loop in JavaScript?Why is to decrement the iterator toward 0 faster than incrementing ,基本的 for 循环比 for 慢 - 具有简化测试条件的循环,即:

console.log("+++++++");
var until = 100000000;

function func1() {
console.time("basic")
var until2 = until;
for (var i = 0; i < until2; i++) {}
console.timeEnd("basic")
}

function func2() {
console.time("reverse")
var until2 = until;
for (until2; until2--;) {}
//while(until2--){}
console.timeEnd("reverse")
}

func1();
func2();

您可能会看到,与预期相反,第一个函数比第二个函数更快。自从这篇 Oracle 文章发布后发生了什么变化,还是我做错了什么?

最佳答案

是的,自文章发布以来发生了一些变化。一方面,Firefox 从第 3 版升级到第 38 版。大多数情况下,当浏览器的新版本发布时,一些东西的性能会发生变化。

如果您在不同系统的不同浏览器的不同版本中尝试该代码,您会发现性能会有很大差异。不同的浏览器针对不同的 Javascript 代码进行了优化。

由于性能不同,并且您不能长期依赖任何有用的度量,如果您需要优化 Javascript,基本上可以遵循两个原则:

  • 对每个任务使用最简单和最常用的代码;这是浏览器 vendor 最会尝试优化的代码。

  • 不要在特定浏览器中寻找最佳性能,而要在任何浏览器中寻找最差的性能。在不同的浏览器中测试代码,并选择一种在其中任何浏览器中都不会产生非常糟糕性能的方法。

关于javascript - for 循环 vs for 循环反向 : performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30801308/

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