Релиз V8 версии 5.4
Каждые шесть недель мы создаем новую ветку V8 в рамках нашего процесса релиза. Каждая версия создается из Git master-ветки V8 незадолго до выпуска Chrome Beta. Сегодня мы рады представить нашу новую ветку, V8 версии 5.4, которая будет находиться в бета-версии до ее выхода вместе со стабильной версией Chrome 54 через несколько недель. V8 версии 5.4 наполнен всеми видами улучшений для разработчиков, поэтому мы хотели бы представить некоторые из главных аспектов, ожидая релиза.
Улучшения производительности
V8 версии 5.4 предоставляет ряд ключевых улучшений в потреблении памяти и скорости запуска. Эти улучшения в основном помогают ускорить выполнение скриптов и сократить время загрузки страниц в Chrome.
Память
При измерении потребления памяти V8 важно учитывать два ключевых показателя: Максимальное потребление памяти и среднее потребление памяти. Обычно сокращение максимального потребления столь же важно, как и сокращение среднего, поскольку выполняемый скрипт, исчерпывающий доступную память даже на короткое время, может вызвать сбой из-за недостатка памяти, даже если его среднее потребление памяти невелико. Для целей оптимизации полезно разделить память V8 на две категории: Память в куче, содержащая реальные JavaScript объекты, и память вне кучи, содержащая остальное, например внутренние структуры данных, выделенные компилятором, парсером и сборщиком мусора.
В версии 5.4 мы оптимизировали сборщик мусора V8 для устройств с ограниченной памятью, имеющих 512 МБ ОЗУ или меньше. В зависимости от отображаемого сайта это сокращает максимальное потребление памяти в куче до 40%.
Управление памятью в JavaScript парсере V8 было упрощено для избегания ненужных выделений, что сократило использование максимальной памяти вне кучи до 20%. Эти сохранения особенно полезны при работе с большими файлами скриптов, включая приложения asm.js.
Запуск и скорость
Наша работа по оптимизации парсера V8 не только помогла сократить потребление памяти, но и улучшила производительность работы парсера. Эти оптимизации, в сочетании с другими улучшениями встроенных функций JavaScript и глобальными встроенными кешами, значительно ускорили запуск.
Наш внутренний набор тестов запуска, измеряющий реальную производительность JavaScript, улучшился на медианное значение в 5%. Бенчмарк Speedometer также выигрывает от этих оптимизаций, демонстрируя улучшение на ~10-13% по сравнению с версией 5.2.
API V8
Пожалуйста, ознакомьтесь с нашим обзором изменений API. Этот документ регулярно обновляется через несколько недель после каждого основного релиза.
Разработчики с активной копией V8 могут использовать команду git checkout -b 5.4 -t branch-heads/5.4
, чтобы протестировать новые функции V8 версии 5.4. Также вы можете подписаться на бета-канал Chrome и вскоре попробовать новые функции самостоятельно.