RoboHornet Pro | От Alpha до Pro за 24 часа
Последняя неделя сентября выдалась весьма насыщенной в плане веб-браузерных новостей.
Несмотря на то, что на бумаге RoboHornet является независимым проектом GitHub, Microsoft и другие его не признают. Продемонстрировав чудеса скорости разработки, Microsoft “перелопатила” открытый код RoboHornet из первой альфа-версии, в которой он был доступен, в версию “Pro” менее чем за 24 часа. Одновременно Mozilla официально соглашается с Майкрософтом в том, что этот тест оставляет больше вопросов, чем дает ответов. Возможно, “старички” Microsoft и Mozilla наконец поняли, что Google их главный конкурент. Ведь пока браузеры-ветераны были заняты постоянной борьбой друг с другом, Chrome ворвался через главные ворота и занял трон.
Давайте вспомним хронологию событий той недели:
Понедельник: Наши американские коллеги публикуют статью про RoboHornet (англ.), которая посвящена новому тесту производительности веб-браузеров, состоящему из микротестов работы с HTML, CSS, JavaScript, DOM и SVG. В том тестировании Internet Explorer 10 для Windows 8 одержал внушительную победу, вдвое превзойдя результат среднего веб-браузера на нашей эталонной платформе MacBook Pro (2011 года).
Вторник: Microsoft говорит RoboHornet “спасибо, не надо”, назвав новый тест бессмысленным микробенчмарком, который не отражает реальную производительность. Ниже приводится отрывок из блога IE, в котором Microsoft открытым текстом заявляет, что не купилась на “независимость бенчмарка”:
Вчера Google выпустила новый микробенчмарк под названием RoboHornet, в котором Internet Explorer 10 показал себя довольно хорошо. Хотя результат приятный, члены нашей команды инженеров, взглянув на бенчмарк, выяснили, что RoboHornet не отражает ту производительность, с которой пользователи могут столкнуться в реальной ситуации. Как и все микробенчмарки, RoboHornet – лабораторный тест, сфокусированный на отдельных аспектах производительности браузера.
Мы решил запустить микробенчмарк RoboHornet в контексте реалистичного сценария. С помощью современных возможностей браузера, к которым относятся CSS3 Animation, CSS3 Transform, CSS3 Text Shadow, шрифты WOFF, Unicode, Touch и другое, мы создали тестовый сайт с анимированным фоном в стиле фильма Матрица. Затем мы запустили RoboHornet в контексте этого сайта. Одновременно обрабатывая фон “Матрицы” и тест RoboHornet, Chrome стал тормозить, и анимация фона остановилась, поскольку Chrome не рассчитан на выполнение бенчмарка в контексте реалистичной модели использования. Тем временем отзывчивость Internet Explorer 10 сохранилась, браузер продолжал анимацию экрана и закончил тест вдвое быстрее, чем Chrome… RoboHornet Pro доступен сейчас на IE Test Drive, где вы можете проверить его работу сами.
Позже в этот день Джастин Либар (Justin Lebar) из Mozilla нашёл ошибку на странице RoboHornet GitHub под названием Eliminate и объявил микробенчмарки вне закона с заявлением:
Если вы ребята хотите, чтобы мы (в данном случае, Mozilla) принимали robohornet всерьёз, я настоятельно рекомендую написать несколько макробенчмарков и убрать микробенчмарки из вашего тестового пакета.
Среда: Джон Дэвид Далтон (John David Dalton) – менеджер от Microsoft, удаляет все упоминания о совместной работе Microsoft с RoboHornet. Тем временем, ответственный менеджер от Mozilla, Даниель Бакнер (Daniel Buchner), вообще покинул комитет разработчиков.
Сегодня: У нас есть официальный ответ Mozilla на фиаско RoboHornet:
Существует множество бенчмарков, и различные бенчмарки для одной задачи могут вести себя по-разному. Многие бенчмарки созданы для корыстных целей, в них разработчики обычно внедряют набор программ, который, по их мнению, обеспечит быструю работу, и потом делятся ими с общественностью. Тем не менее, разработчикам браузеров нужны хорошие бенчмарки, которые могут показать целостную производительность. Мы бы хотели видеть больше тестов, сконцентрированных на ощущениях пользователей, например, тесты взаимодействия с браузером, популярными приложениями и сайтами, тесты общих задач, таких как панорамирование и увеличение на мобильных устройствах.
Микробенчмарки типа RoboHornet неточно отражают ощущения пользователя в сети Интернет. RoboHornet нацелен на измерение реальной производительности, но немного не дотягивает. RoboHornet содержит в себе 17 микротестов, каждый из которых тестирует какую-то одну из функций веб-браузера. Но реальные сайты гораздо сложнее, и всё это в RoboHornet не учитывается. RoboHornet перечисляет вещи, которые замедляют работу веб-браузеров, и обращает на них внимание разработчиков. Это очень полезная функция, но она не точно отражает реальную производительность.
Пока не понятно, что Mozilla думает по поводу RoboHornet Pro от Microsoft. Из остальных пяти компаний, Opera отказалась от комментариев, а до Apple мы достучаться пока не смогли.
Возвращение RoboHornet
RoboHornet Pro уже стартовал лучше, чем RoboHornet, поскольку тест работает с большим количеством браузеров. Теперь мы можем включить результаты Chrome и IE10 для Windows 8 Metro, а также Maxthon и Sleipnir на Windows и OS X. Тест теперь работает и на браузерах iOS. Мы добавили Yahoo! Axis, Google Chrome, Dolphin, Mozilla Firefox, Maxthon, Apple Safari и Sleipnir. Поскольку штатный браузер для Android не заработал, мы использовали Chrome и Opera Mobile.
Теперь вкратце напомним тестовую конфигурацию и затем посмотрим на результаты в RoboHornet Pro.
RoboHornet Pro | Конфигурация тестовой системы и программного обеспечения
Тестовая конфигурация
Характеристики настольной системы | |
Операционная система 1 | Microsoft Windows 7 Ultimate (64-bit) |
Операционная система 2 | Microsoft Windows 8 Enterprise RTM (64-bit) |
Операционная система 3 | Apple OS X Mountain Lion 10.8.2 (64-bit) |
Операционная система 4 | Ubuntu 12.04.1 LTS Precise Pangolin (64-bit) |
Процессор | Intel Core i5-2500K @ 3,3 ГГц, четыре ядра |
Материнская плата | Gigabyte GA-Z68XP-UD3 (F10 BIOS) |
Память | 8 Гбайт Crucial DDR3 @ 1333 MT/с (2 x 4 Гбайт) |
Видоекарта | GeForce GTX 560 Ti 1 Гбайт GDDR5 (PCIe 2.0 x16) |
Накопитель | Seagate Barracuda 7200.12 500 Гбайт SATA 3Гбит/с, 7200 об/мин, кэш 16 Мбайт |
Оптический привод | Asus DRW-24B1ST/BLK/B/AS |
Блок питания | Corsair TX750W (750 Вт) |
Корпус | Zalman MS-1000 HS2 |
Кулер CPU | Scythe Mugen 2 Revision B |
Клавиатура | Logitech Wireless Keyboard K320 |
Мышь | Logitech Wireless Trackball M570 |
Тестовый планшет 1 | |
Модель | Asus Transformer TF300T |
Операционная система | Google Android 4.1.1 (Jelly Bean) |
Дисплей | 10.1″ LED-Backlit WXGA IPS (1280×800) |
Процессор | Nvidia Tegra 3 (четыре ядра) |
Память | 1 Гбайт |
Накопитель | 32 Гбайт |
Сеть | 802.11 b/g/n @ 2,4 ГГц |
Тестовый планшет 2 | |
Модель | iPad (3rd generation) |
Операционная система | iOS 6 |
Дисплей | 9.7″ LED-Backlit IPS Retina Дисплей (2048×1536) |
Процессор | Apple A5X ARM Cortex-A9 @ 1 ГГц (два ядра) |
Память | 1 Гбайт LP-DDR2 |
Накопитель | 16 Гбайт |
Сеть | 802.11 a/b/g/n |
Характеристики сети | |
Служба ISP | Cox Preferred (18 Мбит/с – приём, 2 Мбит/с – передача) |
Модем | Motorola SURFboard SBS101U |
Роутер | Linksys WRT54G2 V1 |
Браузеры под Windows | |
Chrome | 22.0.1229.79 m |
Firefox | 15.0.1 |
Internet Explorer 10 | 10.0.9200.16384 |
Maxthon | 03.04.2005 |
Opera | 12.02 (build 1578) |
Sleipnir | 3.7.1.4000 |
Браузеры под OS X | |
Chrome | 22.0.1229.79 m |
Firefox | 15.0.1 |
Maxthon | 1.0.4.1000 Beta |
Opera | 12.02 (build 1578) |
Safari | 6.0.1 (8536.26.14) |
Sleipnir | 3.7.1 (3.7.1) |
Браузеры под Linux | |
Chrome | 22.0.1229.79 |
Firefox | 15.0.1 |
Opera | 12.02 (build 1578) |
Браузеры под Android | |
Chrome | 18.0.1025308 |
Opera Mobile | 12.0.4 |
Браузеры под iOS | |
Axis | 01.01.2002 |
Chrome | 21.0.1180.82 |
Dolphin | 05.04.2001 |
Maxthon | 1.3 |
Safari | 6.0 |
Sleipnir | 2.0 |
Методология
Веб-браузеры, операционные системы, драйверы и другие сопутствующие приложения обновлены до последних версий на момент проведения тестов (26 сентября 2012 года). Перед тестированием в операционной системе были отключены скринсейвер и управление питанием.
При тестировании домашней страницы RoboHornet мы не открывали другие вкладки и приложения. Из-за того что работа теста RoboHornet Pro занимает крайне малое время, в графиках показано среднее значение пяти повторов.
RoboHornet Pro | Результаты в Windows 7 и 8
Windows 7
Несмотря на свой почтенный возраст (полтора года), Internet Explorer 9 взбирается на почётное второе место под Windows 7 в оригинальном бенчмарке RoboHornet, но RoboHornet Pro от Microsoft готов работать только с IE10.
Без Internet Explorer 10 под Windows 7 результаты нам не очень интересны. Все веб-браузеры, отображенные на диаграмме чёрными полосками, визуализируют фоновую анимацию “Матрицы” с тяжёлыми тормозами, поэтому их время завершения теста для нас малозначимо. Они все его провалили. Результат Opera показан синей полосой, потому что он вообще не воспроизвел фоновую анимацию. Opera – единственный браузер, демонстрирующий такое поведение, поэтому норвежский участник автоматически дисквалифицируется.
В видеоролике ниже пять годных веб-браузеров под управлением Windows 7 обрабатывают один из прогонов RoboHornet Pro (во время теста происходят раздражающие скачки, подтормаживания и подвисания, и проблема не в видео или вашей системе).
Windows 8
Вполне предсказуемо, что только Internet Explorer 10 от Microsoft прошёл тест RoboHornet Pro на Windows 8 RTM. Среднее время выполнения составило 3,7 секунды на десктопе и 4 секунды в версии Metro. Все оставшиеся участники демонстрируют заметные притормаживания фоновой анимации, поэтому на время выполнения снова можно не обращать внимание. Opera опять отказался отображать фоновую анимацию.
В видеоролике ниже восемь веб-браузеров под управлением Windows 8 RTM отрабатывают один из прогонов RoboHornet Pro:
RoboHornet Pro | Результаты: OS X и iOS
OS X Mountain Lion
Наша текущая кроссплатформенная тестовая система демонстрирует неестественно низкие результаты под OS X Mountain Lion по сравнению с другими операционными системами. Хотя результаты браузеров под OS X выглядят вполне адекватными в отношении друг друга, не стоит на их основании делать какие-либо выводы об OS X против других настольных окружений в этом тесте. Пока мы не нашли виновника, лучше рассматривать результаты OS X, как если бы они были получены на какой-то другой тестовой системе.
Apple Safari обеспечивает идеально плавную фоновую анимацию под OS X и успешно проходит тест Microsoft. Верите или нет, браузер Sleipnir из младшей лиги тоже неплохо справился. Хотя анимация у него не такая плавная как у Safari или IE10, Sleipnir всё же далёк от тормозящих Chrome, Firefox и Maxthon. Как и в случае с Windows, на OS X Opera тоже не хочет отображать фоновую анимацию.
В видеоролике ниже шесть веб-браузеров под управлением OS X отрабатывают один из прогонов RoboHornet Pro:
iOS 6
Первоначальная версия RoboHornet на iOS не работала, но версия от Microsoft без проблем. И как!
Ошибки здесь нет. Каждый браузер на iOS смог отобразить тест RoboHornet Pro плавно и корректно. Поскольку Apple требует, чтобы все сторонние веб-браузеры, распространяемые через магазин App Store, должны использовать движки рендеринга и JavaScript от Safari, как и Safari они проходят тест. Среди браузеров под iOS лидирует родной Safari, завершивший тест за 86 секунд. За ним следует Dolphin с результатом 89 секунд, потом Yahoo! Axis, Maxthon и Sleipnir, борющиеся за третье место с показателями около 91 секунды. Chrome заканчивает последним, его результат – 93 секунды.
По сути, каждый из этих браузеров для iOS – просто новая оболочка и дополнительные функции к Safari, потому не сложно понять, отчего Safari впереди.
Opera Mini и, похоже, любые “мини” браузеры (Skyfire, например), которые используют сжатие трафика на удаленном сервере, не могут работать с RoboHornet Pro, поэтому в тестах они не участвуют.
RoboHornet Pro | Ubuntu и Android
Ubuntu 12.04.1 LTS
Не удивительно, что ни один из браузеров под Linux не смог пройти тест RoboHornet Pro от Microsoft на Ubuntu. Opera снова не смог визуализировать анимацию RoboHornet Pro.
В видеоролике ниже три веб-браузера под управлением Ubuntu отрабатывают один из прогонов RoboHornet Pro:
Android 4.1 Jelly Bean
Хотя работу Chrome можно назвать плавной, мы заметили несколько незначительных одергиваний при переключении частей теста. Но, как и Sleipnir для OS X, Chrome для Android определённо вне конкуренции. Независимо от платформы, Opera не отображает фоновую анимацию “Матрицы”.
RoboHornet Pro | Анализ и выводы
RoboHornet Pro: результаты
Всего несколько веб-браузеров смогли полноценно пройти тест RoboHornet от Microsoft.
Операционная система | Прошедшие веб-браузеры |
Windows 7 | нет |
Windows 8 | Internet Explorer 10 |
OS X | Safari и Sleipnir |
iOS | все |
Ubuntu | нет |
Android | Chrome |
Рассмотрев победителей RoboHornet Pro, прослеживается одна общая тенденция: только родные браузеры проходят тест. Кроме Sleipnir для OS X, только IE10 для Windows 8, Safari для OS X и iOS, а также Chrome для Android пригодны для тестирования. ОС Ubuntu, у которой нет родных браузеров, а только популярные кроссплатформенные решения, остается за бортом. Поскольку IE9 выпадает из тестирования, мы можем предположить, что Microsoft исключила его умышленно. Похоже, маркетологи просто пытаются продвинуть IE10 в Windows 8, поскольку мы до сих пор не уверенны, будет ли десятая версия Internet Explorer выпущена на Windows 7.
Но главный вопрос в том, действительно ли RoboHornet Pro лучше оригинала?
Складывается ощущение, что после публикации результатов, с критикой теперь выступят другие компании.
А нельзя просто ладить друг с другом?
На последней странице американского обзора RoboHornet, опубликованного в сентябре, задавался вопрос: “Является ли RoboHornet Святым Граалем в тестировании веб-браузеров?”
Не совсем.
RoboHornet Alpha1 большое был похож на круглый стол, где король Артур и его рыцари планировали поход за Граалем. Но в отличие от легенды, не все рыцари явились, а те, кто это сделал, позднее свернули с полпути.
Возможно само существование понятия независимого бенчмарка, за который проголосует сообщество веб-разработчиков, наивно. Возможно, Google поспешила с вовлечением других производителей, пригласив трёх кураторов, введя регистрацию и проводя PR-работу для запуска проекта, и тем самым запятнала RoboHornet. Каковы бы не были причины, обычная первая альфа-версия и её премьера обернулись крахом.
Так займёт ли RoboHornet Pro место в нашем гран-при веб-браузеров, и каков прогноз для оригинального бенчмарка RoboHornet?
RoboHornet Pro в гран-при веб-браузеров не появится. Бенчмарк пытается протестировать слишком много аспектов, вдобавок, система оценки, состоящая из двух компонент прошёл/не прошёл и времени выполнения, будет только запутывать ситуацию. Ранее мы надеялись, что в будущем сможем включить RoboHornet в гран-при веб-браузеров. Но сегодня мы в этом сильно сомневаемся.
В целом можно сказать, что мы стали свидетелями очень короткого жизненного цикла амбициозного и противоречивого бенчмарка для веб-браузеров.