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

122
Visualizações
Tiempo de Javascript necesario para verificar la condición nula en una declaración if

Estaba practicando una solución de Javascript para un problema de lista vinculada (invertir una lista vinculada) cuando observé lo siguiente. Cuando mi código contenía este fragmento:

 while(head!=null) { temp = head.next head.next = prev prev = head head = temp }

Esto tomó 96 ms y unos 43,6 MB.

Era correcto pero ni siquiera en el 50% superior con respecto a la velocidad, por lo que decidí omitir al azar la parte !=null de la instrucción if para ver qué sucede.

 while(head) { temp = head.next head.next = prev prev = head head = temp }

Para mi sorpresa, ¡esto redujo el tiempo a 63ms y lo colocó más rápido que el 96% de las soluciones! La memoria tomada también aumentó ligeramente a 44,2 MB. Pero estoy confundido en cuanto a por qué este simple cambio causó una aceleración tan drástica.

Si tuviera que adivinar, diría que el segundo escenario simplemente verifica si existe head , mientras que el primer escenario en realidad evalúa head first y luego lo compara explícitamente con null , o algo así. Incluso si esto es correcto, estoy sorprendido por la mejora de la velocidad. ¿Alguna idea sobre esto?

Editar: En una sugerencia en los comentarios, también probé (head !== null) , que a los 64 ms fue definitivamente más rápido que el primer escenario, ¡pero igual que el segundo!

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