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

358
Vistas
¿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 Respuestas
Responde la pregunta

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 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