小编Ser*_*yev的帖子

for循环vs for jach javascript中的性能和jsperf结果的可信度

我不相信jsperf测量for循环与forEach性能的结果.至少对我的机器上的chrome和firefox来说,结果与jsperf中广告的结果完全不同.
http://jsperf.com/foreach-vs-loop(我的)
http://jsben.ch/#/BQhED(更受欢迎)
在我的笔记本电脑上运行Ubuntu 11.10我在Firefox中有以下结果:

for: total=1641 ms, avg=164.1 ms  
forEach: total=339 ms, avg=33.9 ms  

uname -a:  
Linux 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

很遗憾,Chrome不会返回console.timeEnd()的结果,但Chrome的运行时间相同而且速度更快.我观察到forEach比Chrome中的循环快10倍,在Firefox中快3倍.
在Chrome中,我得到大约这些运行时间:

for: avg=80 ms
forEach: avg=6 ms
Run Code Online (Sandbox Code Playgroud)

这是我在Firefox和Chrome控制台中运行的代码.

var arr = [];
for(var i = 0; i < 100000; i++) arr[i]=i;

var numberOfRuns = 10;

function time(name, f){
    console.time(name);
    f();
    return console.timeEnd(name);
}

function runTest(name, f){
    var totalTime = 0;
    for(var r = 0; r < …
Run Code Online (Sandbox Code Playgroud)

javascript performance jsperf

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×1

jsperf ×1

performance ×1