我知道这是一个有点尴尬的问题,甚至可能与Java无关。
我有一个Java应用程序,它在固定的时间点(例如50秒)产生输出。问题在于输出在很大程度上取决于运行代码的PC的性能。
为了获得更好的重现性,我想“模仿”一个更快的处理器,并且代码应返回在更快的处理器上50秒内计算出的输出。我知道这实际上将花费比给定时间更长的时间。
有什么方法可以计算出某种处理器速度下的“动作”? 计算(仿真处理器的核心速度)/(实际处理器的核心速度)*时间片是否合适?
例如:
仿真处理器4GHz-> 50秒==实际处理器2GHz-> 100秒
使用实际处理器拍摄的快照是否可以说与使用模拟处理器拍摄的50秒拍摄的快照相同?
如果这是正确的,那将是另一个问题。如果运行代码的用户将以另一种方式使用处理器,则结果也会被篡改。