2016-04-01 8 views
0

V8は同じ関数と引数である複数の関数呼び出しを最適化しますか?以下の例では、Varianceは同じ引数で2回呼び出されます。V8の関数呼び出し最適化

var Variance = require('variance'); 

function summary(items) {   
    return { 
     variance: Variance(items.value.map((item) => item.value)), 
     standardDeviation: Math.sqrt(Variance(items.value.map((item) => item.value))), 
    }; 
} 
+0

これはおそらく試してみますが、コードを短く(そして保守しやすくするために)、自分で一度だけ呼び出さないのはなぜですか? – ssube

+0

なぜあなたはそれを変数に入れませんか? (私には最適化があるかどうかわかりません) – rafaelcastrocouto

+0

この例は考案されています。私はv8でこの最適化が行われていて、Googleで答えが見つからない場合は不思議です。 –

答えて

2

V8は同じ引数で繰り返し呼び出される関数を最適化していますが、あなたの例では、これらは実際には同じ引数(それらが異なるオブジェクト/配列参照されている)ではありません。

関連する問題