Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

165
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda