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

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

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

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

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

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

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

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

 

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

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

Есть возможность приобрести оптимальный набор проекционного оборудования для обу... До 1 марта 2018 года все желающие могут приобрести по новой цене в 190 000 рублей отличный комплект оборудования, в состав которого входят:доска SMART Board SBM685, пр...
Скачать музыку с VK — теперь это еще легче Доброго времени суток, данная тема пойдёт о приложение для скачивания музыки с Вконтакте. Множество пользователей сайта всё ещё не знают, какую же выбрать программу для скачивания ...
Операционная система Chrome OS для компьютера Chromebook... Темпы совершенствования компьютерной техники впечатляют. Но, у этой медали есть и обратная сторона – технически девайс работал бы многие годы, а вот производительность и функционал...
Минигайд: как купить подержанный смартфон и не остаться в дураках... Интернет-барахолки в буквальном смысле завалены предложениями б/у смартфонов по заманчиво низким ценам. Конечно, случаи мошенничества на этих площадках нередки, из-за них вы можете...
Покупка элитной недвижимости в Испании – шаг в пользу качественного отдыха в раз... Барселона – один из наиболее популярных городов Испании, пользующийся вниманием не только среди туристов, но и среди зарубежных инвесторов. Интересуют последних квартиры, а роскошн...
Сенсорные панели в быту и промышленности Сенсорная панель - средство контроля курсора. Благодаря ей имеется возможность отказаться от мыши и клавиатуры. Управление интерфейсом панели осуществляется прикосновением к ней не...