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

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

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

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

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

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

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

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

 

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

 

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

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

Почему продвижение сайта так дорого стоит? Бытует мнение среди большинства владельцев сайтов и интернет-магазинов, что SEO продвижение сайта стоит очень дорого. Нередки случаи, когда заказывая раскрутку, они рассчитывают на...
Конкурент Process Lasso или почему пользователям этого приложения стоит присмотр... На рынке программного обеспечения достаточно быстро появляются лидеры, которым доверяют пользователи. Так, к примеру, в сфере обработки изображений одним из первых вспоминается Pho...
Как правильно выбрать жесткие диски (HDD), SSD Исходя из области применения, и стоит подбирать жесткие диски, равно как и твердотельные накопители (посмотреть ассортимент, предлагаемый разными производителями можно по ссылке ht...
Ремонт компьютера в специальных организациях. Нюансы.... Ремонт компьютеров включает очень широкий спектр услуг самой разной степени сложности. Иногда мастерам требуется совсем немного времени, чтобы разобраться с проблемой, а некоторые ...
Сколько пользователей Chrome пострадало от фальшивых блокировщиков рекламы?... Команда блокировщика рекламы AdGuard опубликовала интересную статистику. По их словам, жертвами фальшивых блокировщиков рекламы из магазина веб-приложений Chrome стали уже более 20...
Как оптимизировать интерфейс Chrome под планшет... В скрытых настройках Chrome появилась опция, позволяющая оптимизировать интерфейс браузера под использование на планшете. После её активации некоторые элементы становятся крупнее и...