Hat jemand Benchmarking getan, oder kann auf einen Artikel zu diesem Thema verlinken? Besonders interessiert an IE-Ergebnissen, da in der Regel JS-Performance kein Problem in anderen Browsern ist.Performance Implikationen der Verwendung von Functional style Javascript vs "prozedurale"
Ich möchte wissen, wie viel langsamer es so etwas wie zu tun ist:
var numbers = [1, 2, 3, 4, 5, 6, 7];
var results = numbers.map(function() {
// do some stuff
});
anstelle der typischen:
var numbers = [1, 2, 3, 4, 5, 6, 7];
var results = [];
for (var i = 0; i < numbers.length; i++) {
var number = numbers[i];
var result;
// do some stuff
results.push(result);
}
ich natürlich den funktionalen Stil bevorzugen, aber ich nehme die extra Overhead des Aufrufs einer Extra-Funktion für jedes Element könnte die Dinge bei großen Sammlungen verlangsamen.
Danke!
Möglicherweise ein strittiger Punkt, aber IE <9 implementiert nicht einmal '[] .map'. Sie patchen "Array.prototype" selbst, oder? –
Joe Armstrong, von Erlang Ruhm, gibt immer den Rat, wenn Fragen wie diese gestellt werden, dass Programmierer die schönsten Programme schreiben sollten, die sie können. Codiere die Art und Weise, wie deine Ideen reflektiert werden sollen - natürlich mit guten und richtigen Grundalgorithmen! - und lassen Sie die Leute, die V8, Tracelemonkey und JScript auffüllen, mit Funktionsaufrufen schneller machen. Machen Sie sich nicht mit Code herum, der in einem Jahr die Dinge sowieso nicht schneller macht. – Pointy
@Crescent yeah Patchen Array.prototype, oder mit etwas wie folgt: http://documentcloud.github.com/underscore/ – adamJLev