我有一些代码,我想测量它在自动回归测试中连续运行时的速度。这样做的目的是提醒我对代码所做的更改会对性能产生负面影响。
在伪代码中,我想要这样的东西:
cpuTimer.start
runTest
cpuTimer.stop
diff = cpuTimer.getDuration
if diff > prevDiff // Perhaps to within a tolerance
failTest
我正在为此查看 ThreadMXBean#getCurrentThreadCpuTime() ,但关键问题是自动化测试将在各种不同的开发人员的电脑上运行,并且将自动外包以测试具有一系列不同硬件的服务器和能力。
这会奏效,还是数字会出错?
这个问题应该如何解决?有没有更好的办法?有这种雀跃的标准工具吗?