Chrome 91: на 23% быстрее с новым компилятором JavaScript

Google выпустил Последняя версия На этой неделе из своего браузера с возможностью замораживать группы вкладок и запускать PWA при запуске. Под капотом Chrome 91 на 23% быстрее благодаря Пара плагинов JavaScript.

Одним из важных компонентов быстрого браузера является быстрое выполнение JavaScript. В Chrome эту задачу выполняет движок V8, который ежедневно выполняет код JavaScript более 78 лет.

Он начинается с нового компилятора JavaScript, который «заполняет пробел между необходимостью быстрого запуска выполнения и оптимизацией кода для достижения максимальной производительности». Chrome использует переводчик под названием Ignition для предыдущего сценария и Turbofan для последнего сценария. Оба были представлены три года назад как часть двухуровневой локализованной системы.

Ignition — это компилятор байт-кода, задача которого — начать выполнение JavaScript с минимально возможной задержкой. Turbofan — это оптимизированный транслятор, который создает высокопроизводительный машинный код на основе информации, собранной во время выполнения JavaScript; В результате он запускается медленнее, чем компилятор байт-кода Ignition.

Sparkplug добавляет еще один компилятор и «устанавливает баланс» между ними, поскольку генерирует собственный код устройства, но не полагается на информацию, полученную при выполнении кода JavaScript.

Это позволяет ему быстро начать выполнение, при этом создав относительно быстрый код. Полный и подробный технический обзор того, что нужно для создания этого нового движка, см. Сообщение в блоге V8.

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

Когда V8 генерирует код ЦП из JavaScript, он помещает этот код в память. Этот часто генерируемый код будет вызывать встроенные функции, которые представляют собой небольшие фрагменты кода для обработки общих действий — от базовых операций, таких как добавление двух переменных, до полной функциональности в стандартной библиотеке JavaScript. Для некоторых ЦП вызов функций, далеких от сгенерированного кода, может привести к сбою внутренней оптимизации ЦП (например, логики прогнозирования переходов). Чтобы исправить это, необходимо скопировать встроенные функции в ту же область памяти, что и сгенерированный код.

Google говорит, что встроенные короткие звонки «особенно впечатляют для нового чипа Apple M1» с Более подробная техническая информация доступна здесь.. В целом Chrome 91 теперь на 23% быстрее и экономит 17 лет пользовательского процессорного времени в день с этими обновлениями JavaScript.


Посетите 9to5Google на YouTube, чтобы узнать больше:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *