Дуглас Крокфорд (Douglas Crockford), создатель и популяризатор формата JSON, возглавляющий в компании Yahoo разработки, связанные с языком JavaScript, выступил с инициативой измерения действительной производительности JavaScript-движков современных веб-браузеров. По мнению некоторых исследователей, проанализировавших скорость работы наиболее популярных веб-служб, обычные тестовые комплекты, такие как SunSpider, V8 и Dromaeo, Kraken, rwBench и Peacekeeper, являются синтетическими тестами и не отражают поведение реальных web-приложений. Результаты тестирования также искажаются из-за того, что производители браузеров при выпуске новой версии стремятся максимально оптимизировать выполнение операций, влияющих на скорость выполнения типовых тестов. Опасность такой оптимизации связана не столько с накруткой показателей, сколько с тем, что производительность реальных приложений часто остаётся за кадром, поэтому в некоторых ситуация веб-разработчикам приходится подстраиваться под JavaScript-движки и для повышения производительности использовать сомнительные приёмы программирования. Дополнительно упоминаются программы, завязанные на операциях с DOM (Document Object Model), на скорость работы которых в основном влияет производительность работы API DOM, а не производительность JavaScript-движка. Исправить ситуацию по мнению Дугласа может новый тест производительности, который был бы максимально приближен к работе больших и правильно написанных веб-приложений. В качестве основы для проведения тестов было решено использовать развиваемый много лет пакет JSLint, отличающийся высоким качеством кода, достаточно сложной логикой работы и наличием типичных для обычных веб-приложений операций, таких как разбор строк, выполнение регулярных выражений и применение шаблонов. JSLint предназначен для анализа JavaScript-кода, оценки его качества и автоматического выявления ошибок. Измерив время проверки в JSLint собственных исходных текстов (размер выполняемого файла jslint.js составляет около 300 Кб или 6.5 тысяч строк кода), Дуглас получил неожиданные результаты, существенно расходящиеся с обычно используемыми тестовыми пакетами. Быстрее всего проверка была выполнена в браузере Internet Explorer 10, Firefox 4 и Opera 11 показали средние результаты, а медленнее всех оказался Chrome 10 (примечательно, что Chrome 10 лидирует при выполнении тестов SunSpider и V8).
Подробности