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

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

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

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

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

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

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

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

 

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

 

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

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

Сервисы для самостоятельного создания сайта... Сегодня для самостоятельного создания сайта не нужно быть программистом, обладать навыками веб-дизайна и прочими премудростями сайтостроения. Для этих целей разработаны сотни прогр...
Несколько основных видов хостинга Сегодня на рынке присутствуют несколько основных видов хостинга, о котором мы расскажем в этой статье. 1. Виртуальный хостинг Сегодня он характеризуется самой высокой популярност...
Как скинуть фото с iPhone на компьютер через iTunes... Качество фотографий и возможности камеры у последних моделей смартфонов от Apple впечатляют. Владельцы этих устройств любят делать снимки, однако когда дело доходит до переноса отс...
Первоначальная настройка сервера на CentOS7 Шаг первый - подключение по ssh Для того чтобы управлять вашим colocation сервером, вам необходимо удаленно подключиться к нему по протоколу ssh. Если вы пользуетесь Linux, то д...
Онлайн уроки английского языка – возможность недорого повысить квалификацию и на... Для того чтобы найти хорошую и оплачиваемую работу, необходимо в первую очередь начать обучать себя. Например, воспользоваться обучающими курсами и получить определенные знания, ко...
Приложение Шагомер для Андроид устройств: плюсы и минусы... Приложения Шагомеры для Андроид устройств полностью совместимы с большинством производителей часов, фитнес-браслетов и, конечно же, смартфонов и планшетов. Ходьба для человека...