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

359
Visualizações
¿Qué tan preciso es el tiempo usando performance.now() en una prueba Jest?

Recientemente descubrí un cuello de botella en una aplicación web. Pude reducir hasta donde está, agregando algunas pruebas de Jest que usan performance.now() para cronometrar aproximadamente la ejecución de la función.

 test(... const avg = Array(numberOfReps).fill(null).reduce((agg)=>{ const m0 = performance.now(); doThing(); const m1 = performance.now(); return agg + ((m1 - m0)/numberOfReps); }, 0) )

En la mayoría de los casos, me sentiría cómodo deteniéndome aquí. Pero, el cuello de botella está en una parte de la aplicación que se usará mucho. Y, si bien los memorandos han ayudado, la velocidad de la primera ejecución también es muy importante.

Necesito estar seguro dentro de 2 sigma al 20% de que los tiempos informados por mis pruebas son precisos. Por ejemplo, si mis pruebas informan una ejecución de 1000 ms, necesito saber que el 95 % de las ejecuciones de tamaño n se encuentran entre 800 y 1200 ms.

¿Las pruebas de rendimiento a la anterior en Jest se ajustan a este proyecto de ley? Todavía no he podido encontrar respuestas útiles en otros lugares.

Editar: soy consciente de que el rendimiento. Ahora () es preciso. Pero desconfío de que Jest pueda inyectar complementos o usar algún tipo de bus que haga que el tiempo total sea menos preciso, es decir, ejecute otras funciones entre m0 y m1. ¿Es esa una preocupación válida?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

PerformanceNow devuelve un DomHighResTimeStamp .

El tiempo, expresado en milisegundos, debe tener una precisión de 5 µs (microsegundos), y la parte fraccionaria del número indica fracciones de milisegundo. Sin embargo, si el navegador no puede proporcionar un valor de tiempo con una precisión de 5 µs (debido, por ejemplo, a restricciones de hardware o software), el navegador puede representar el valor como un tiempo en milisegundos con una precisión de milisegundos.

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