Google объявил устаревшим Octane, пакет для тестирования JavaScript
Компания Google решила отказаться от использования, поддержки и развития пакета Octane, созданного в 2012 году в качестве инструмента для тестирования производительности JavaScript-движков, оперирующего кодом реальных популярных web-проектов вместо синтетического стресс-тестирования возможностей, которые мало влияют на производительность работы с реальными сайтами.
В последние годы технологии разработки сильно изменились, появился стандарт ECMAScript 2015, получили распространение новые web-фреймворки и библиотеки. По мнению Google, пакет Octane исчерпал себя, больше не отражает реальную производительность и не может служить меркой для оценки браузерных движков и выбора направлений оптимизации. Показатели браузеров в Octane достигли примерно одного уровня.
Аргументом против синтетических тестов также выступает то, что производители браузеров не брезгуют внесением специальных оптимизаций, не влияющих на работу в реальных условиях, но позволяющих добиться улучшения показателей при прохождении тестов производительности. Например, некоторые специфичные для Octane оптимизиации стали приводить к замедлению работы реальных приложений (например, медленнее работает Node.js). Также можно напомнить, что ранее в 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 и другими фреймворками.