В Chromium 33 добавили параллельную компиляцию скриптов

Страшный заголовок, который одним своим видом отпугивает половину читателей. Но в результате этого изменения самые обычные пользователи получат более плавную работу сайтов и веб-приложений, поэтому эту заметку стоит прочитать.

Каждый пользователь Хрома, читающий хром.рф, знает, что за компиляцию JavaScript в браузере отвечает движок V8. Исторически сложилось так, что работа эта ведется им в основном потоке, а это влияет на производительность веб-приложений. В Chromium 33 добавили параллельную компиляцию, которая позволяет большую часть этапа оптимизации вынести в фоновый поток. В результате сервисы начинают работать без подвисаний, а пользователи становятся счастливыми и делятся ссылками на статью в социальных сетях.

А теперь еще немного умных слов про то, как это все волшебно работает. Чтобы добиться максимальной производительности, V8 первичную компиляцию скриптов проводит максимально быстрым способом. При этом про оптимизацию кода никто не думает — главное получить быстрый результат. Но те части кода, которые исполняются достаточно часто, проходят второй этап компиляции, который уже сфокусирован на его оптимизации. Работает это относительно долго, используются продвинутые технологии, но в результате имеем хорошо оптимизированный шустрый код.

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

Посмотрим на то, как работает V8 в одном из живых примеров. На картинках представлена часть реального процесса работы теста Mandreel из бенчмарка Octane. Черная полоса это исполнение JavaScript. В идеале она должна быть непрерывной и белой.

Но на практике исполнение подвисло на 600мс по причине того, что основной поток был занят оптимизацией. Оптимизация, которая приводит к таким тормозам это не оптимизация, а трагедия какая-то. К счастью, кто-то придумал параллельную компиляцию, которая выносит оптимизацию в фоновый поток. И получается новая красивая картинка:

Что это дало? Это увеличило на 27% количество попугаев в тесте Mandreel. А с точки зрения пользователя повысило плавность работы веб-приложения. Вот такие вот чудеса творятся в 33 версии Хрома, а вы до сих пор не установили наше расширение.

 

1 star2 star3 star4 star5 star (ОЦЕНИТЬ!)
Загрузка...
Прочее

 

Комментировать!

Вам понравится

Куплю витую пару: рассматриваем возможности категории 8... Как известно, кабель витая пара представляет собой связку проводников, попарно скрученных между собой. Провода помещаются в общую изоляционную оболочку. Существуют так называемые к...
Рейтинг бюджетных безрамочных смартфонов Безрамочные смартфоны в последние пару лет стали невероятно популярны среди пользователей, и практически каждая крупная компания уже выпустила как минимум несколько представителей ...
Мобильные приложения с сервисами геолокации... Информационные технологии используются повсеместно: образование, туризм, ресторанный бизнес и сфера услуг. Именно современные технологии позволяют решать проблемы, помогают компани...
Почему современному салону красоты нужно приложение... По данным систем аналитики, 70% пользователей посещают сайты из мобильных устройств. Это информация, которую нельзя изменить, ее можно только учесть, но мы можем и должны использов...
Краткие сведения о сенсорных мониторах и особенностях их использования... Сенсорным монитором принято называть комбинированное устройство для ввода/отображения информации, имеющее в своём составе экран и сенсорную панель поверх него, реагирующую на касан...
Как сэкономить на бензине? Цены на бензин – «больная» тема каждого водителя. Независимо от достатка и особенностей двигателя на топливо человек тратит значительную часть своего бюджета. Порой кажется, что лу...