Pull to refresh
0
Google Developers
Build anything with Google

Прокачиваем JavaScript с помощью TurboFan

Reading time 2 min
Views 15K
Привет, Хабр! Что-то давно мы не говорили о Google Chrome и простых веб-технология. Давайте это исправим.



Как вам всем, наверное, известно, экосистема JavaScript развивается сразу в нескольких направлениях. Среди основных изменений можно выделить, например, прогресс в основных стандартах языка — недавнее закрепление норм ECMAScript 2015. Кроме таких серьёзных изменений, развивается язык и во множестве маленьких экспериментов — например — Strong Mode.

Само собой, для обеспечения растущих потребностей и поддержки новых технологий необходим новый, гибкий динамический (just-in-time) компилятор, и мы усердно работали над ним для нашего JavaScript-движка V8.

TurboFan (прим.: кодовое имя нового компилятора) создан «с нуля», и в процессе разработки мы учитывали новые возможности JavaScript. TurboFan умеет оптимизировать больше кода и делает это успешнее, чем предыдущий JIT-компилятор, поддерживает гибкие и динамические режимы оптимизации. Кроме того, новый компилятор написан с учётом всего накопленного опыта по CrankShaft'у, а значит, его станет намного проще поддерживать и улучшать. Благодаря этим и некоторым другим особенностям мы научили работать TurboFan с теми видами кода, которые бросали серьёзный вызов предыдущему компилятору. Проблемы с оптимизацией были у asm.js, литералов классов, областей видимости (scopes), вычисляемых свойств и циклов for-of.

В текущем исполнении новый динамический компилятор уже показывает многообещающий рост производительности, в том числе увеличение результатов zLib-теста в бенчмарке Octane на 29%.


TurboFan работает для некоторых видов кода в Google Chrome начиная с версии 41, ускоряя как традиционный контент, так и некоторые возможности, обеспечиваемые новыми технологиями в JavaScript.

Cо временем мы планируем подключать к новому компилятору исполнение всё большего числа разного кода JavaScript, и, в конечном итоге, полностью заменить CrankShaft, ускорив выполнение миллионов уже написанных строк кода и готовых скриптов. Оставайтесь на связи, скоро расскажем кое-что ещё. ;)
Tags:
Hubs:
+18
Comments 29
Comments Comments 29

Articles

Information

Website
developers.google.com
Registered
Founded
Employees
over 10,000 employees
Location
США