Google разработала оптимизированный JS-интерпретатор для движка V8

Для уменьшения количества памяти, потребляемой JS-движком V8, Google разработала Ignition, интерпретатор JavaScript. Компания считает, что он неплохо справляется с повышением веб-производительности. 

Используя Ignition, V8 переводит JS-функции в байткод, уменьшая размер кода на 25–50%. Затем байткод исполняется высокопроизводительным интерпретатором, при этом скорость выполнения не уступает оной при использовании старого компилятора.

V8, как и другие движки, использует JiT-компиляцию для повышения производительности. Его алгоритм исполнения скриптов использует переключение между обычным компилятором и двумя оптимизирующими, CrankShaft и TurboFan. Из-за этого JiT-скомпилированный машинный код потребляет много памяти, даже если исполняется всего раз. Ignition, который предназначен для замены базового компилятора, потребляет меньше памяти и упрощает алгоритм.

Интерпретатор использует низкоуровневые, не зависящие от платформы макроассемблерные инструкции TurboFan для генерации байткод-хэндлеров опкодов. TurboFan компилирует инструкции для целевой архитектуры, что даёт оптимизированный код, который можно использовать в виртуальной машине V8.

Начиная с 53 версии Chrome, Android-устройства с менее чем 512 МБ оперативной памяти смогут использовать Ignition. Эксперименты показали, что использование Ignition понижает потребление памяти каждой вкладкой примерно на 5 процентов.

Источник: ITWorld

Ещё интересное для вас:
Тест: чьё это рабочее место? Угадываем айтишников по их столам
Тест: что вы знаете о работе мозга?
Тест: какой язык программирования вам стоит выбрать для изучения?

Вакансии в тему:

Nsys Group
Web–разработчик
Web–разработчик
Nsys Group, Санкт-Петербург, 100 000 ₽ (до налогов)
CallKeeper
JavaScript-разработчик
JavaScript-разработчик
CallKeeper, Москва, от 100 000 до 150 000 ₽
«Сбербанк-Технологии»
Программист ASP.NET / C#
Программист ASP.NET / C#
Сбербанк-Технологии, Москва