¿Alguien ha hecho benchmarking, o puede vincular a un artículo sobre este tema? Particularmente interesado en los resultados de IE, ya que generalmente el rendimiento de JS no es un problema en otros navegadores.Implicaciones de rendimiento del uso de estilo funcional Javascript vs "procedural"
me gustaría saber cuánto más lenta que es hacer algo como:
var numbers = [1, 2, 3, 4, 5, 6, 7];
var results = numbers.map(function() {
// do some stuff
});
en lugar de la típica:
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);
}
, obviamente, yo prefiero el estilo funcional, pero asumo el extra sobrecargar una función adicional para cada elemento podría ralentizar las cosas con grandes colecciones.
Gracias!
Puede ser un punto discutible, pero IE <9 ni siquiera implementa '[] .map'. Estás parcheando 'Array.prototype' ¿verdad? –
Joe Armstrong, de la fama de Erlang, siempre da el consejo cuando se le hacen preguntas como esta de que los programadores deben escribir los programas más hermosos que puedan. Codifique la forma en que desea que se reflejen sus ideas, ¡utilizando algoritmos básicos buenos y adecuados, por supuesto! - y deje que los chicos que usan V8, Tracemonkey y JScript se encarguen de hacer llamadas de funciones más rápido. No te metas en un código que, en un año, en realidad no hará que las cosas sean más rápidas de todos modos. – Pointy
@Crescente, sí, parchear Array.prototype, o usar algo como esto: http://documentcloud.github.com/underscore/ – adamJLev