`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Технологии оптимизации кода ускорят новый Chrome на 23%

0 
 

Технологии оптимизации кода ускорят новый Chrome на 23%

Google поделилась технической информацией о двух нововведениях, реализованных в движке V8 v9.1, который включен в версию Chrome 91. С их помощью инженеры Google обещают в некоторых случаях сокращение времени загрузки веб-страниц на 23%.

Код, написанный на языках программирования, таких как JavaScript, не может выполняться в центральном процессоре, сначала его нужно превратить в так называемый машинный код. Именно эту задачу инженеры Google ускорили с помощью Sparkplug.

Речь идёт о дополнительном компиляторе, который размещается между интерпретатором Ignition и оптимизирующим компилятором TurboFan. В ходе преобразования JavaScript в машинный код, Sparkplug выполняет оптимизацию, ускоряющую загрузку веб-страницы на пользовательский компьютер за счёт применения двух следующих программных методов:

  • Sparkplug выполняет оптимизацию не исходного кода JavaScript, а промежуточного байт-кода, который используется в Chrome. По ряду технических причин это работает быстрее.

  • В отличие от большинства компиляторов, Sparkplug не генерирует промежуточного представления (IR). Пропуская этот этап процесса оптимизации кода, Sparkplug компилирует непосредственно в машинный код за один линейный проход по байт-коду.

Кроме того, в этой версии движка (в варианте для 64-разрядных настольных систем) Google временно отказалась от внедрения фрагментов машинного кода (builtin). Они запускаются вместе с кодом JiT с веб-страницы для выполнения вспомогательных задач. Chrome хранил builtin и JIT-код в случайно выбранных и поэтому не всегда близких сегментах памяти компьютера, из-за чего процессорам, как правило, приходилось тратить больше времени на загрузку веб-страницы.

Замена внедрения модулей builtin их копированием в основную память рядом с динамически генерируемым кодом снижает эффективность использования памяти на 1,2–1,4 МБ для каждого экземпляра V8. Однако в десктопах, где это не так критично, такое решение улучшает производительность благодаря уменьшению потребности в использовании процессором механизма прогнозирования ветвлений. Обращаясь к нему реже, Chrome тем самым снижает риск неправильных прогнозов, замедляющих обработку.

В дальней перспективе инженеры Google рассчитывают вернуться к встроенным модулям. Ущерб для производительности предполагается устранить размещением кода JIT ближе к двоичному коду Chrome.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT