Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

355
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!