Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

223
Vistas
¿Por qué es más rápido declarar una variable fuera del bucle?

Hace unas semanas, escuché que declarar la variable de condición true / false fuera del bucle era más rápido. Entonces, quería probarlo.


Entonces, básicamente, hice este código para ver cuál es más rápido.

Estos son los dos bucles.

 // Initialization const arr = [1, 2, 3, 4, 5]; // Bad Loop console.time("bad"); for (let i = 0; i < arr.length; i++) { console.log(arr[i]); } console.timeEnd("bad"); // Good Loop console.time("good"); let l = arr.length; for (let i = 0; i < l; i++) { console.log(arr[i]); } console.timeEnd("good");

Cuando se ejecuta el código, hay una diferencia significativa en el tiempo que se tarda en ejecutar el bucle incorrecto, en comparación con el tiempo que se tarda en ejecutar el bucle bueno. (No importa cuán rápido sea el ciclo malo, el ciclo bueno siempre es más rápido).


Entonces, mi pregunta es ¿por qué sucede esto ? La única diferencia entre los dos bucles es el hecho de que el bucle bueno define la longitud de la matriz antes de que comience el bucle, mientras que el bucle malo lo introduce en el bucle.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Básicamente, esta es la razón por la cual el código en el bucle malo es más lento que en el bucle bueno.


1. ¿Por qué el bucle malo es lento?

Primero, echemos un vistazo al bucle malo.

 const arr = [1, 2, 3, 4, 5]; console.time("Bad"); for (let i = 0; i < arr.length; i++) { console.log(arr[i]); } console.timeEnd("Bad");

Lo que hace que este bucle sea lento es el hecho de que accede a la propiedad length para cada iteración .

Esto puede disminuir drásticamente el rendimiento, ya que por cinco veces (en este caso), tiene que acceder a una propiedad.

Como puede ver, no sorprende que el bucle malo sea más lento.


2. ¿Por qué el bucle bueno es tan rápido?

Echa un vistazo al bucle bueno:

 const arr = [1, 2, 3, 4, 5]; console.time("Good"); let l = arr.length; for (let i = 0; i < l; i++) { console.log(arr[i]); } console.timeEnd("Good");

Puede ver que la razón por la que es más rápido es porque accede a la length fuera del bucle . En otras palabras, solo accede a la length una vez, en comparación con el código incorrecto, que accede cinco veces.

Puede ver que al definir la variable, reduce el tiempo necesario para obtener la propiedad de length desde el principio, ¡lo que aumenta el rendimiento!


En conclusión, el ciclo bueno es más rápido ya que solo tiene que acceder a la propiedad de length una vez.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda