Обманывает ли Internet Explorer 9?
Издание Hacker News усомнилось в адекватности результатов тестирования разрабатываемого браузера Internet Explorer 9. Речь идет о тесте SunSpider, который измеряет скорость работы с Javascript. По мнению независимых экспертов, высокие результаты, которые показывает IE9, - это "фикция, результат ошибки или преднамеренного обмана".
Анализ, проведенный Hacker News, показал, что поведение IE9 в тесте SunSpider, скорее всего, объясняется "намеренной или ненамеренной оптимизацией браузера специально для этого теста".
Подозрения вызвало то, что одну из составляющих комплексного теста SunSpider - cordic - IE проходил в 10 раз быстрее, чем другие браузеры. Перепроверили. Оказалось, что после включения в код теста операторов, которые никак не должны были влиять на его выполнение, IE9 стал работать на нем медленнее, причем более чем на порядок. Если изначально он выигрывал у Google Chrome и Opera в 7-9 раз, то после вполне невинных изменений стал проигрывать в 2-3 раза.
Представители Microsoft объяснили произошедшее работой модуля, который исключает бесполезный код. Этот модуль в javascript-движке IE9 анализирует код и отказывается от выполнения той его части, которая не продуцирует никаких результатов. Весь тест cordic, по своей сути, и есть такой код, поскольку многократно запускаемая в нем функция, ничего не возвращала, значений никаких глобальных переменных не меняла и пользовательского вывода не имела. Впрочем, это объяснение не отменяет "искусственности" результатов, показанных IE9 в тесте. Как написали Hacker News, "анализатор "пустого" кода, работающий настолько нестабильно в практических приложениях, следует считать неработающим вовсе".