Function declaration speed difference in JS
Asked Answered
K

1

4

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:

alt text

Test in Chrome:

alt text


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

Koniology answered 9/12, 2010 at 8:3 Comment(4)
Why did you expect the result Firefox showed?Lapstrake
I would consider this to be strongly reeking of micro-optimization and unless you are really trying to understand the internals of how different browsers optimize, I would say - dump it!!Prytaneum
@Gumbo, I expected them to be fairly similar and slower than Chrome and they were.Koniology
Not sure I'd jump on the micro-optimization = bad train here, the question is interesting. Then again, different Javascript engines producing different results is neither a shock nor a revelation...Protege
A
2

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

Antiphonary answered 9/12, 2010 at 8:19 Comment(1)
Great link but I don't think my version of chrome has the update that your link is talking about.Koniology

© 2022 - 2024 — McMap. All rights reserved.