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

167
Vistas
En Javascript, ¿por qué 'while (true') es más lento que 'for (...)' cuando ambos iteran la misma cantidad de veces?

Suponiendo que while(true) se romperá al mismo tiempo que el bucle for(...) , ¿por qué for(...) es más rápido?

Según jsbench , es aproximadamente un 7% más lento usar while(true)

Aquí está el código que he usado en jsbench:

Usando un bucle while(true)

 /* generate array */ const arr = [] for(let i = 0; i < 1000; i++){ arr.push(i) } let i = 0 while(true){ if(arr[i] >= 900){ return; } i++ }

usando un bucle for(...) :

 /* generate array */ const arr = [] for(let i = 0; i < 1000; i++){ arr.push(i) } for(let i = 0; i < arr.length; i++){ if(arr[i] >= 900){ return; } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El tiempo tiene que ver tanto con su código como con la forma en que se compila JavaScript. Sin embargo, las diferencias son bastante intrascendentes en este ejemplo, por lo que probar cuál es más rápido varía cada vez que se ejecuta el código y los resultados son bastante indeterminados. En general, deberían tomar aproximadamente el mismo tiempo o un poco más rápido o más lento.

Tu codigo

Su ciclo while continuará simplemente porque tiene la condición establecida para que siempre sea true . No incluyó una condición para verificar si debe detenerse en algún punto después de completar cada iteración.

Su ciclo for , por otro lado, tiene una condición que se verifica cada vez que se completa una iteración (comprobando si i < arr.length todavía).

Aparte de eso, su código es más o menos el mismo. Ambos tienen el mismo bloque de código, la diferencia es que el ciclo while incrementa i dentro de su bloque de código, en lugar del ciclo for que incrementa i después de su bloque de código interno.

Las diferencias en este caso son bastante intrascendentes.

Compilacion

Si alguna vez ha estudiado algo de código ensamblador, debería estar un poco familiarizado con algunas de las estructuras para bucles.

Dependiendo de cómo se compile el código, se determina qué operaciones/instrucciones se ejecutan y en qué orden. Además, la estructura de un ciclo while generalmente debe ser diferente de un ciclo for en ensamblador, lo que significa que puede haber una instrucción adicional para ejecutar en un ciclo for versus un ciclo while o viceversa, según el lenguaje de programación.

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