Function declaration speed difference in JS

流过昼夜 提交于 2019-12-07 11:37:02

问题


I ran a simple jsperf test and everything went as expected when running in Firefox but when I ran the test in Google Chrome is was confused.

The test is testing different ways of declaring function in JavaScript and then calling them. My guess is that Chrome is doing some sort of optimization on the JavaScript function but I'm not sure what or why there is such a big difference. Any help or links to understand this better is greatly appreciated.

Link to test => http://jsperf.com/function-assignment-semicolon/2

Test run in Firefox:

Test in Chrome:


Edit:

I expected the results I got from Firefox because I expected them to be - fairly the same for each test - slower than when run in Google Chrome


回答1:


Dead code, a perfect optimizer would remove everything in the test. This has been mentioned on various news sites with the recent announcement of Google's Crankshaft engine. The differences between styles are an indication of how difficult it is to implement dead code optimisation.

http://tech.slashdot.org/story/10/12/07/2027259/Google-Quietly-Posts-Big-JavaScript-Engine-Update



来源:https://stackoverflow.com/questions/4396072/function-declaration-speed-difference-in-js

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!