3 回答

TA貢獻1836條經(jīng)驗 獲得超5個贊
本文中的所有測試用例都存在缺陷,因為它們?yōu)槊總€測試方法訪問相同的文件。因此,磁盤緩存會在測試2和3中受益。為了證明我的觀點,我采用GHAD提供的測試用例并更改了枚舉的順序,以下是結(jié)果。
看結(jié)果我認為File.length()真的是贏家。
測試順序是輸出的順序。您甚至可以看到我的機器所執(zhí)行的時間在執(zhí)行之間有所不同,但File.Length()不是第一次,并且贏得了第一次磁盤訪問。
---
LENGTH sum: 1163351, per Iteration: 4653.404
CHANNEL sum: 1094598, per Iteration: 4378.392
URL sum: 739691, per Iteration: 2958.764
---
CHANNEL sum: 845804, per Iteration: 3383.216
URL sum: 531334, per Iteration: 2125.336
LENGTH sum: 318413, per Iteration: 1273.652
---
URL sum: 137368, per Iteration: 549.472
LENGTH sum: 18677, per Iteration: 74.708
CHANNEL sum: 142125, per Iteration: 568.5
添加回答
舉報