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

245
Visualizações
La primera función es más rápida cuando está vacía, pero cuando ambas están llenas, la primera función es más lenta

Lo sentimos, la pregunta puede no ser tan clara. He estado interesado en escribir una función de verificación de cuadrados perfectos en Javascript. Para el caso estándar, he escrito lo siguiente:

 for(let i = 1; i < 1000000; i++) { if(Math.sqrt(i) % 1 == 0) { // Is perfect square } }

Esta función generalmente finaliza en aproximadamente 3 ms en mi PC cuando la instrucción if está vacía.

Mientras que la siguiente función 'optimizada' tarda unos 8 ms:

 for(let i = 1; i < 1000000; i++) { if(i % 10 !== 2 && i % 10 !== 3 && i % 10 !== 7 && i % 10 !== 8) { if(Math.sqrt(i) % 1 == 0) { // Is perfect square } } }

Sin embargo, si yo, por ejemplo, incremento un contador en las respectivas sentencias if, la primera función tarda alrededor de 12 ms pero la segunda se queda en 8 ms. Ambos devuelven el mismo contador. Solo tengo curiosidad por saber por qué fue esto.

Mi mejor suposición es que Javascript ignora la declaración if en la primera función porque está vacía, mientras que, debido a que la segunda función tiene una declaración if dentro, no la ignora. Sin embargo, sospecho que esto puede no ser el caso. ¡Solo me interesa ver si alguien tiene alguna interpretación diferente!

about 4 years ago · Juan Pablo Isaza
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