2016-04-01 40 views
0

V8, aynı işlev ve bağımsız değişkenler olan çoklu işlev çağrılarını optimize eder mi? Aşağıdaki örnekte Varyans, iki kez aynı argümanlarla çağrılır.V8'de işlev çağrısı optimizasyonu

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

Muhtemelen denemeye çalışacaksınız, ancak kodunuzu daha kısa (ve bakımı daha kolay) hale getirmek için, neden sadece kendiniz bir kez aramıyorsunuz? – ssube

+0

neden onu bir değişkene koymuyorsunuz? (Bir optimizasyon var mı bilmiyorum) – rafaelcastrocouto

+0

Bu örnek gayet uygundur. V8'in bu optimizasyonu yapıp yapmadığını ve google'da bir cevap bulmakta zorlandığını merak ediyorum. –

cevap

2

v8 aynı argümanlarla defalarca denilen fonksiyonlarını optimize yapar, ancak örnekte bu aynı argümanlar (bunlar farklı nesne/dizi başvurulardır) aslında değildir.

İlgili konular