Google объявил Octane устаревшим и не отражающим реальную производительность браузеров
Компания Google решила отказаться от использования, поддержки и развития пакета Octane, созданного в 2012 году в качестве инструмента для тестирования производительности JavaScript-движков, оперирующего кодом реальных популярных web-проектов вместо синтетического стресс-тестирования возможностей, которые мало влияют на производительность работы с реальными сайтами.
В последние годы технологии разработки сильно изменились, появился стандарт ECMAScript 2015, получили распространение новые web-фреймворки и библиотеки. По мнению Google, пакет Octane исчерпал себя, больше не отражает реальную производительность и не может служить меркой для оценки браузерных движков и выбора направлений оптимизации. Показатели браузеров в Octane достигли примерно одного уровня.
Аргументом против синтетических тестов также выступает то, что производители браузеров не брезгуют внесением специальных оптимизаций, не влияющих на работу в реальных условиях, но позволяющих добиться улучшения показателей при прохождении тестов производительности. Например, производители браузеров пользуются ошибкой в тесте Box2DWeb, которая позволяет улучшить результат проверки в Octane на 15%.
Более того, некоторые специфичные для Octane оптимизации стали приводить к замедлению работы реальных приложений (например, медленнее работают Node.js и Ember). Также можно напомнить, что ранее в Internet Explorer было выявлено игнорирование обработки определенных языковых конструкций только при выполнении тестов (незначительное изменение кода теста приводило к замедлению в несколько десятков раз).
Отмечается, что в прошлом году разработчики движка V8 внедрили новый метод оценки производительности движка, основанный на выполнении слепков реальных web-страниц, взятых с популярных сайтов, таких как Reddit, Twitter, Facebook и Wikipedia. В результате применения этого метода удалось в среднем на 10–20% ускорить загрузку web-страниц при сравнении Chrome 56 с Chrome 49. Так как Octane оценивает пиковую производительность, показатели прохождения данного теста остались на прежнем уровне, несмотря на явное ускорение работы в реальных условиях.
Измерение пиковой производительности JavaScript оценивает лишь небольшой слой крупных web-приложений, оставляя неучтённым такие важные факторы как время загрузки страницы, время начала выполнения скриптов, эффективность кэширования, скорость обработки и отрисовки HTML и CSS. Кроме того, результат прохождения тестов, измеряющих пиковую производительность, очень сильно зависит от используемой платформы.По оценке Google наиболее близкие к реальным условиям показатели в настоящее время демонстрирует тест Speedometer, разработанный командой WebKit и учитывающий скорость работы с React, Angular, Ember и другими фреймворками.
© OpenNet