Разница в скорости объявления функций в JS - PullRequest
4 голосов
/ 09 декабря 2010

Я запустил простой тест jsperf, и все работало, как и ожидалось, при работе в Firefox, но когда я запустил тест в Google Chrome, он был озадачен.

Тест проверяет различные способы объявления функции в JavaScript и последующего их вызова. Я предполагаю, что Chrome оптимизирует функцию JavaScript, но я не уверен, что и почему есть такая большая разница. Любая помощь или ссылки, чтобы лучше понять это.

Ссылка на тест => http://jsperf.com/function-assignment-semicolon/2

Тестовый запуск в Firefox:

alt text

Испытание в Chrome:

alt text


Edit:

Я ожидал результатов, полученных от Firefox, потому что ожидал, что они будут - одинаково для каждого теста - медленнее, чем при запуске в Google Chrome

1 Ответ

2 голосов
/ 09 декабря 2010

Мертвый код, идеальный оптимизатор удалит все в тесте.Это было упомянуто на различных новостных сайтах с недавним объявлением о двигателе Google Crankshaft.Различия между стилями указывают на то, насколько сложно реализовать оптимизацию мертвого кода.

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

...