【发布时间】:2011-02-20 21:31:45
【问题描述】:
首先,这与微基准测试的用处无关。我很清楚他们的目的:在一个非常具体的案例中指出性能特征和比较以突出一个方面。这是否会对您的工作产生任何影响是另一回事。
几年前,有人(我认为是 Heinz Kabutz第一次运行总是被丢弃。这是为了解释 JVM 的预热以及环境中的不一致(后台进程、网络流量……)和测量不准确。这对我来说很有意义,我的个人经历也表明了类似的情况,所以我总是采用这种策略。
但是,我注意到很多人(例如Jeff)编写的基准测试只运行几毫秒(!)并且只运行一次。我知道近年来短期基准测试的准确性有所提高,但我仍然觉得它很奇怪。不应该每个微基准测试至少运行一秒钟并运行至少 3 次以获得一些有用的输出吗?还是这条规则现在已经过时了?
【问题讨论】:
标签: microbenchmark