另请参阅我对 Andrew Hedges 测试的评论...
我只是尝试运行一个测试来比较一个简单的迭代、我引入的优化和反向 do/while,其中数组中的元素在每个循环中都进行了测试。
唉,毫不奇怪,我测试的三个浏览器的结果非常不同,尽管优化后的简单迭代是最快的!-)
测试:
在实际测试之外构建一个包含 500,000 个元素的数组,每次迭代都会显示特定数组元素的值。
试运行 10 次。
IE6:
结果:
简单:984,922,937,984,891,907,906,891,906,906
平均:923.40 毫秒。
优化:766,766,844,797,750,750,765,765,766,766
平均:773.50 毫秒。
反向do/while:3375,1328,1516,1344,1375,1406,1688,1344,1297,1265
平均:1593.80 毫秒。(注意一个特别尴尬的结果)
歌剧 9.52:
结果:
简单:344,343,344,359,343,359,344,359,359,359
平均:351.30 毫秒。
优化:281,297,297,297,297,281,281,297,281,281
平均:289.00 毫秒
反向执行/同时:391,407,391,391,500,407,407,406,406,406
平均:411.20 毫秒。
火狐 3.0.1:
结果:
简单:278,251,259,245,243,242,259,246,247,256
平均:252.60 毫秒。
优化:267,222,223,226,223,230,221,231,224,230
平均:229.70 毫秒。
反向do/while:414,381,389,383,388,389,381,387,400,379
平均:389.10 毫秒。