Новая Версия V8 Будет На 50% Быстрее

Сегодня мы представляем вам Коленвал ок.

переулок ), новая инфраструктура компиляции для V8, движка JavaScript Google Chrome. Используя агрессивную оптимизацию, Crankshaft значительно повышает производительность ресурсоемких приложений JavaScript — зачастую более чем в два раза! Это делает веб-страницы и приложения, использующие сложный код, более отзывчивыми и быстрыми для пользователей.

Давайте сравним производительность Chrome с Crankshaft и без него на стандартный набор тестов V8 :

Новая версия V8 будет на 50% быстрее

Больше всего Crankshaft улучшает тесты Richards, DeltaBlue и Crypto. Это показывает, что мы ускорили операции доступа к свойствам объектов, арифметические операции, тяжелые циклы и вызовы функций.

В целом, Crankshaft улучшает производительность V8 на 50% в этом наборе тестов.

Это самый большой прорыв с момента выпуска Chrome в 2008 году:

Новая версия V8 будет на 50% быстрее

Помимо увеличения пиковой производительности, измеренной в тестах, Crankshaft также ускоряет время инициализации веб-приложений, таких как GMail. Наш тест перезагрузки страницы показали, что Crankshaft ускоряет загрузку страниц со значительным объемом кода JavaScript на 12%.

Crankshaft использует адаптивную компиляцию для улучшения времени запуска и максимальной производительности.

Идея состоит в том, чтобы существенно оптимизировать код, который выполняется часто, и не тратить время на оптимизацию кода, который выполняется нечасто.

Из-за этого тесты, которые выполняются за несколько миллисекунд (например, SunSpider), покажут лишь небольшое ускорение при использовании Crankshaft. Чем больше приложение, тем больше эффект от нового двигателя.

Коленчатый вал состоит из четырех основных компонентов:

  1. Базовый компилятор используется для всего кода.

    Работает быстро и не требует сложных оптимизаций.

    Basic в два раза быстрее, чем V8 в Chrome 9, и создает на 30 % меньше кода.

  2. Профилировщик , который отслеживает процесс выполнения и находит «горячие» участки кода, выполнение которых занимает больше всего времени.

  3. Оптимизирующий компилятор , который перекомпилирует выявленные «горячие» участки кода.

    Он использует Подача SSA для таких оптимизаций, как перемещение или удаление инвариантов цикла , линейное сканирование [1] и встраивание .

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

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

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

V8 с Crankshaft для процессоров Intel с 32-битной архитектурой уже доступен в кровоточащая грань Репозитории V8 и тестовые версии Гугл Хром.

Работа над сборками для ARM и 64-битных архитектур уже ведется.

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

Кевин Милликин, инженер-программист, и Флориан Шнайдер, инженер-программист [1] Спасибо мралеф позади уточнения к переводу .

Теги: #Chromium #Google Chrome #V8 #коленчатый вал #JavaScript

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.