A pesar de todos los blogs conocidos sobre este tema, siempre dudo de algunos resultados y mis pruebas personales muestran que el estándar bien dicho no es el mejor.Rendimiento de declaración de variables en bucles en Actionscript 3
Declaración de variables dentro del bucle, para mantenerlos cerca de su alcance y hacerlo más rápido para llegar en el método, pero la asignación de más memoria o declarar fuera de la para alcance para salvar la asignación de memoria, pero aumentará el procesamiento de iterar en un caso distante.
Mis resultados muestran que el método B es más rápido (a veces), quiero saber el fondo alrededor de esto.
los resultados varían y no soy un gurú de poco brusher.
Entonces, ¿qué piensan ustedes al respecto?
Método A
var object:Object = new Object();
var loop:int = 100000
for (var i:int = 0; i < loop; i++)
{
object = new Object();
object.foo = foo;
object.bar = bar;
}
O
Método B
var loop:int = 100000
for (var i:int = 0; i < loop; i++)
{
var object:Object = new Object()
object.foo = foo;
object.bar = bar;
}
Sería interesante ver las pruebas * reales * realizadas para ver si son válidas, repetibles y muestran lo que se afirma. Es difícil obtener micro benchmarks correctos (y solo los fragmentos de arriba no son adecuados). Hay * algún *, aunque generalmente inconsecuente, argumento para declarar variables dentro de ámbitos anidados (por ejemplo, * funciones anidadas *) y asignarles un valor para evitar buscar en la cadena [[scope]], pero eso es * diferente * caso que requiere un nuevo [[alcance]] a ser observado. –
El método B es más rápido porque tiene menos novedades. Es la nueva declaración que se está tomando el tiempo aquí. –