Новый оптимизатор Internet Explorer 9 привел к завышению результатов теста SunSpider

топ 100 блогов softskif — 21.11.2010

Значительный прорыв производительности последней тестовой версии Internet Explorer 9 дал повод задуматься, каким образом разработчикам IE удалось кардинально поднять производительность браузера, переведя его из разряда отстающих в лидеры. Как оказалось, в последней тестовой версии была реализована техника оптимизации "Dead Code Elimination", основной задачей которой в данный момент является ускорение прохождения теста производительности SunSpider.

По сути оптимизация сводится к игнорированию определенных языковых конструкций, что пока влияет только на прохождение теста SunSpider, не ускоряя работу реальных сайтов. При этом даже незначительное изменение кода теста, приводит к значительному падению скорости его прохождения. Например, оптимизация уже перестает работать при замене переменных местами в условном выражении (т.е. если вместо "if (TargetAngle > CurrAngle)" написать "if (TargetAngle <= CurrAngle)"), при добавлении новой переменной или при изменении огранизации цикла (если вместо "for (Step = 0; Step < 12; Step++)" поставить "while(Step < 12)" или "for (Step = 12; Step > 0; Step--)").

Интересно, что добавление в код теста забытого "return" в конце функции приводит к замедлению работы IE в 20 раз (!), а подстановка в любое место кода пустого вызова "true" замедляет IE в 19 раз (!). Opera, Chrome и Firefox также были протестированы на предмет выборочной оптимизации тестов, но изменение кода SunSpider для данных браузеров не привело к изменению скорости прохождения теста.

Дополнение: представители Microsoft прокомментировали ситуацию тем, что в новой тестовой версии IE включена начальная поддержка нового механизма оптимизации, который пока нигде не применяется, но в течение нескольких недель будет адаптирован для ускорения реальных сайтов. Невероятное ускорение прохождения теста SunSpider объясняется тем, что в нем выполняются интенсивные типовые цикличные операции, после чего результаты данных вычислений в дальнейшем нигде не используются. Подобное синтетическое поведение теста как раз подпадает под действие нового оптимизатора, который как раз нацелен на удаление подобных вычислений, не приводящих к результату. О причинах сведения оптимизации на нет после добавления несущественных изменений в код SunSpider ничего не сказано. (via: opennet.ru/opennews/art.shtml?num=28717)

Вот такие вот в мелкософте "оптимизаторы". Если не получается нормальный продукт выпустить, так надо просто пыль всем в глаза пустить и сделать видимость, что все чудесно. Вот только на кого было это рассчитанно? На домохозяек, которые верят только циферкам-пузомеркам, а когда не в тестах, а в реальной работе все тормозит оправдывали бы это тем, что "браузер замечательный, просто сайты неправильные попадаются"?

Оставить комментарий

Архив записей в блогах:
Нет, мы не услышим о судебных исках и серьезной компенсации, выплаченной перевозчиком. Скорее всего, женщина снова села в эту же маршрутку и поехала дальше. Возможно, даже плату за проезд не потребовала вернуть. Видео из Днепропетровска. ...
Я существо мягкое и доброжелательное. И еще терпеливое. Но моему терпению тоже есть предел:))) Предупреждаю, за: - Потекли слюни - Вкусняшка - Рецептик (и прочие уменьшительно-ласкательные в отношении к моим рецептам и фотографиям) БУДУ БАНИТЬ. ...
В  1790 году русские войска под командованием Александра Суворова взяли штурмом турецкую крепость Измаил. ...
Сейчас прочитала на украинском сайте- ИГИЛ объявил Украину врагом. Что пишут в комментариях - это вообще жесть))) Террористы включили Украину в список коалиции против ИГИЛ. Те ...
Оговорюсь, что компьютерные игры - тоже жанр искусства, как и фильмы, книги, рисование, оперетта. И там и там автор/разработчик нас погружает в то, во что задумал нас погрузить. Конечно, это должна быть ролевая игра. По-моему, только в rpg разраб может развернуть все свои идеи, всё ...