Война браузеров: Safari 3.1.1 против WebKit, IE7 против IE8b и Firefox2 против Firefox3RC1

Возможно, вы решите задать вопрос: «К чему эти противопоставления? Не всегда ли более последняя версия лучше предыдущей?». Если честно, то к такому выводу можно прийти только опытным путем, поэтому вам не стоит удивляться матчам Firefox2 против Firefox3RC1, IE7 против IE8b и Safari 3.1.1 против “Ночной сборки” Safari 3 (WebKit).

Firefox2 против Firefox3RC1

Тесты объемов памяти Firefox, конечно, популярны, но нашей задачей стала проверка JavaScript посредством набора заданий ZWC на 5.0.6: регистрации, составления и просмотра сообщений, переключения с папки на папку и с приложения на приложение и другие опции.

FF3RC1 победил в соревновании, причем, безоговорочно. Mozilla заслуживает одобрения на улучшение своего браузера. Даже на примере маленьких заданий разница уже была видна. Что касается тяжелых задач, то тут разница в скорости иногда достигала трех раз!

Чтобы подсчитать время загрузки после нажатия на кнопку или линк, мы использовали OpenQA Selenium. Тестовые компьютеры были оснащены двухъядерными процессорами AMD Opteron тактовой частотой 1,8 ГГц с 2ГБ RAM.

Так что же сделало Firefox 3 таким быстрым? Возможно, это оптимизация по профилю выполнения (Profile-Guided Optimization; двойная компиляция) или множество комбинированных улучшений движка JavaScript.

IE7 против IE8b

Легковесный IE7 сравнивается с приложением-тяжеловесом. Нужно ли Microsoft срочно садить IE8 на диету?

Мы снова задействовали OpenQA Selenium, чтобы подсчитать время, ушедшее на загрузку страницы после нажатия соответствующей кнопки или линка при регистрации, составлении и просмотре сообщения, навигации по разным папкам, переключении между приложениями и даже смене опций, как в Firefox.

Борьба была нелегкой. IE8b отер пот поражения после начальной загрузки и получил все форы по мелочам. А вот уже больший JavaScript стал настоящей загвоздкой. Удивляет то, что огромные объемы улучшений CSS в IE7 противопоставлены IE6, а IE8b просто улучшили работу JavaScript. Резюмируя, можно сказать, что IE8b стал финалистом гонок на выживание.

Хорошо, что корпорация Microsoft наконец осознала, что люди устали от переключений Internet Explorer и разработки отдельной среды, такой как IEWatch и Visual Studio, направив усилия на совершенствование JavaScript, CSS и HTML. Поддержка CSS3 в IE8b еще довольно слаба, но HTML4 представлен полностью. Совместимость с HTML5 и CSS2.1, с другой стороны, не нова – это замышлялось и для IE7. Практики говорят, что скорость JavaScript обусловлена улучшениями в DOM, а не пересмотром движка.

IE8 ведет себя довольно быстро, так что, возможно, у Microsoft появится время, чтобы отточить свой браузер. Однако у него появится еще много конкурентов.

Safari 3.1.1 против WebKit r33940

Кого-то может удивить разрыв в версиях браузеров: почему не Safari 3.0 или даже 3.1? Во-первых, мы сравниваем готовые релизы с бетами. В предыдущих тестах мы использовали Firefox 2.0.0.14 и самый свежий IE7. Во-вторых, когда мы планировали этот матч, 3.1.1 уже стал GA, так что мы взялись за Safari 3.1.1 версии 525.17 (которая потом была выпущена в массы) и WebKit r33940 (движок браузера с открытым кодом, близкий к Safari 3.1.1 версии 525.20).

Мы задействовали OpenQA Selenium, чтобы подсчитать время, ушедшее на загрузку страницы после нажатия соответствующей кнопки или линка при регистрации, составлении и просмотре сообщения, навигации по разным папкам, переключении между приложениями и даже смене опций. Версии Safari уже давно поставлены на поток – поэтому за 2 секунды ничего не произошло. Более старая версия одержала свою победу в ряде случаев, но этому мог способствовать ряд факторов тестирования, когда речь идет о сотых долях секунды.

Safari сделан хорошо. Пожелаем ему работать в том же духе.

На компьютерах с Windows стоит Safari 3.1.1, но это все еще версия 525.17. У Apple нет времени на распространение обновлений, либо компания ожидает версии Safari 4, чтобы сделать следующий шаг. Хочется верить, что это произойдет скоро.

Зерно Safari 4 уже было заронено в почву разработчиков. Сюда можно отнести интерпретатор SquirrelFish JavaScript (переименованный из GlassFish, чтобы не спутать с собственным детищем Apple). SquirrelFish это движок байт-кодов, который исключает практически все, чтобы обеспечить работу интерпретатора JavaScript. Он также оставляет пространство для эксперимента на предмет постоянного сворачивания, типа интерференции, специализации на основании контекста, локальной оптимизации. Safari 4 добавляет возможность сохранять страницы, как отдельные веб-приложения (на манер специфических браузеров, таких как Fluid, Adobe AIR, Bubbles и Mozilla Prism), задействует улучшение CCS для градиентов, масок и отражений, а также улучшение работы в связке с Windows ПК.