我运行了一个简单的jsperf测试,当在Firefox中运行时,一切都按预期进行,但是当我在Google Chrome中运行测试时,我感到很困惑。
测试正在测试在JavaScript中声明函数然后调用它们的不同方法。我的猜测是Chrome正在对JavaScript函数进行某种优化,但我不确定是什么或为什么会有这么大的差异。任何帮助或链接,以更好地了解这一点非常感谢。
链接到test => http://jsperf.com/function-assignment-semicolon/2
在Firefox中测试:
在Chrome中测试:
编辑:
我期待从Firefox获得的结果,因为我期望它们是 - 每次测试都相同 - 比在谷歌浏览器中运行时慢
答案 0 :(得分:2)
死代码,完美的优化器会删除测试中的所有内容。最近有关谷歌Crankshaft引擎的消息,已在各种新闻网站上提到过这一点。样式之间的差异表明实现死代码优化是多么困难。
http://tech.slashdot.org/story/10/12/07/2027259/Google-Quietly-Posts-Big-JavaScript-Engine-Update