鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 為什么會有這樣的性能差異?

為什么會有這樣的性能差異?

圖片描述

回答
編輯回答
拽很帥

例二多調(diào)用了一次箭頭函數(shù),這不很正常么,折算每次也就多 ~5*10^-8 ms

2018年7月25日 00:20
編輯回答
陌離殤

應(yīng)該是函數(shù)本來有兩個參數(shù)
Boolean沒有規(guī)定參數(shù)數(shù)量
那個箭頭有規(guī)定參數(shù)數(shù)量。所以會快。

var i = 0, len = 1000*1000, x = 2, y = true, z ='3.2';

var plus = function() {
  var r, len = 2;
  for (var i = 0 ;i < len; i++) {
      r += arguments[i];
  }
  return r;
};
//demo0
console.time('demo0');
for (i = 0 ;i < len; i++) {
    plus(x, y ,z);
}
console.timeEnd('demo0'); 
//demo1
var demo = function(a, b) {
    return plus(a, b);   
};
console.time('demo1');
for (i = 0 ;i < len; i++) {
    demo(x, y, z);
}
console.timeEnd('demo1'); 

clipboard.png

2017年8月17日 20:48
編輯回答
脾氣硬

把填充數(shù)組的代碼改為var arr1 = Array(10000000).fill(Math.random()+2);,你會發(fā)現(xiàn)不一樣的結(jié)果。

2018年3月7日 02:27