Сен
15
2012

IonMonkey — новый JIT-компилятор в браузере Firefox

JavaScript-движок браузера Firefox обзавелся новым JIT-компилятором. Рост производительности гарантирован!

В ночных сборках Firefox (сейчас их представляет 18 версия браузера) внедрен новый JIT-компилятор — IonMonkey. По словам разработчиков, это большой шаг для продукта, над которым они работают. Кстати, разработка нового компилятора длилась более 1 года.

IonMonkey приходит на смену JägerMonkey (который в свое время сменил TraceMonkey). Новая версия значительно поднимает производительность выполнения JavaScript. Если говорить о технических деталях, то инженеры Mozilla сообщают о том, что IonMonkey разделяется на три компонента:

  • Трансляция JavaScript в промежуточное значение (IR);
  • Выполнение различных алгоритмов для оптимизации промежуточного значения;
  • Перевод окончательного IR в машинный код.

Помимо повышения производительности стоит отметить появившиеся гибкие возможности для доработки компилятора. Посмотрим теперь на результаты сравнения ночной сборки Firefox 18, содержащей новинку, и текущей стабильной версии Firefox 15.0.1. В качестве тестов, на одной системе обоими браузерами были пройдены известные JS-тесты Kraken и V8 benchmark.

Новый JIT-компилятор дает большой прирост производительности

Результаты теста Kraken benchmark

IonMonkey дает прирост производительности

Результаты теста v8 benchmark

Как видно из графиков выше, разработчикам действительно удалось улучшить работу JS-движка в интернет-обозревателе Firefox. Остается только добавить, что новый JIT-компилятор будет включен по умолчанию в 18 версию браузера, который из ночных сборок перейдет в ветку Aurora 8 октября, а бетой примерно 20 ноября.

Оставить комментарий

Цитировать