Браузер Chrome вновь форсирует свой JavaScript-«движок» V8

Разработчики популярного браузера Chrome объявили о внедрении новой версии своего JavaScript-«движок» под названием V8. Первыми новую среду исполнения JavaScript-сценариев получат версии Chrome со статусом «бета» и «для разработчиков». Особенностью новой версии V8 является новаторский механизм счетчиков, который помогает определить, какие именно функции в коде сценария стоит оптимизировать.
Как сообщают сами разработчики браузера Chrome, обновленный Chrome 19 (бета-версия) за счет новой технологии демонстрирует скорость исполнения сценариев на 25% выше, чем в текущей официальной версии Chrome 18, по эталонному тесту SunSpider для измерения JavaScript-производительности.
Интерпретирующий механизм V8 компилирует код на языке JavaScript в два этапа: сначала из сценария в машинный код, а потом в оптимизированный машинный код. Чтобы проделать столь значительную работу по оптимизации, механизму V8 нужно определить, какие функции лучше всего подходят для обработки, то есть обеспечат максимальный прирост эффективности после затраченных усилий.
Ранее механизм V8 останавливался каждую миллисекунду для оценки работающих функций, чтобы приступить к обработке одной из этих функций. Как решили сами разработчики из проекта Chromium, одной миллисекунды оказалось слишком много, чтобы ожидать очередной оптимизации. Вместо такого периодического рассмотрения функций новый алгоритм V8 использует специальные счетчики, которые помогают отследить, как часто вызываются те или иные функции в коде JavaScript, а также выделяют циклические конструкции. В результате, по заявлению разработчиков, технология V8 может динамически обнаруживать узкие места в JavaScript-программе, так что ресурсы оптимизирующего компилятора всегда будут идти на те функции, которые этого заслуживают больше всего.