Tengo un código que quiero medir la velocidad de mientras se ejecuta de forma continua en las pruebas de regresión automática. El propósito de esto sería alertarme sobre los cambios realizados en el código que han tenido un impacto negativo en el rendimiento.La mejor manera de medir el tiempo de ejecución en las pruebas de regresión automática
En pseudo-código, quiero algo como esto:
cpuTimer.start
runTest
cpuTimer.stop
diff = cpuTimer.getDuration
if diff > prevDiff // Perhaps to within a tolerance
failTest
estoy mirando ThreadMXBean # getCurrentThreadCpuTime() para esto, pero el problema principal es que las pruebas automatizadas se llevará a cabo en una amplia rango de diferentes PC de desarrollador, y se procesará automáticamente para probar servidores con una gama de hardware y capacidades diferentes.
¿Funcionará esto o los números saldrán mal?
¿Cómo se debe resolver este problema? ¿Hay una mejor manera? ¿Hay una herramienta estándar para este tipo de alcaparras?
Debería haber dicho que no estoy usando JUnit. Por tediosas y horribles razones técnicas e históricas, todo el sistema está hecho a medida. – izb
Cambiar a junit se ha vuelto mucho más fácil con junit4;) – krosenvold