一只甜甜圈
本文中的所有测试用例都存在缺陷,因为它们为每个测试方法访问相同的文件。因此,磁盘缓存会在测试2和3中受益。为了证明我的观点,我采用GHAD提供的测试用例并更改了枚举的顺序,以下是结果。看结果我认为File.length()真的是赢家。测试顺序是输出的顺序。您甚至可以看到我的机器所执行的时间在执行之间有所不同,但File.Length()不是第一次,并且赢得了第一次磁盘访问。---LENGTH sum: 1163351, per Iteration: 4653.404CHANNEL sum: 1094598, per Iteration: 4378.392URL sum: 739691, per Iteration: 2958.764---CHANNEL sum: 845804, per Iteration: 3383.216URL sum: 531334, per Iteration: 2125.336LENGTH sum: 318413, per Iteration: 1273.652--- URL sum: 137368, per Iteration: 549.472LENGTH sum: 18677, per Iteration: 74.708CHANNEL sum: 142125, per Iteration: 568.5