V8 — движок JavaScript с открытым исходным кодом, распространяемый по лицензии BSD. Разработан датским отделением компании Google.

История Разработка JavaScript-движка V8 началась в датском отделении Google в городе Орхусе. Ведущим разработчиком стал Ларс Бак. Основными проблемами, которые пришлось решать разработчикам в движке, стали производительность и масштабируемостьЛарс Бак в Санкт-Петербурге , 2009-12. Первая лабораторная версия движка появилась 3 июля 2008 года, а уже 2 сентября была официально представлена версия 0.2.5, вошедшая в первый публичный релиз ChromiumЗапуск V8, Chromium и Google Chrome , 2008-09. Технические характеристики Ларс Бак считалОбзор возможностей , 2008-09, что краеугольными камнями V8 являются: Компиляция исходного кода JavaScript непосредственно в собственный машинный код, минуя стадию промежуточного байт-кода. Эффективная система управления памятью, приводящая к быстрому объектному выделению и маленьким паузам сборки «мусора»Эффективный сбор «мусора» . V8 приостанавливает исполнение кода во время выполнения сборки «мусора». Уменьшает влияние и воздействие приостановки приложения при сборке «мусора». V8 может точно определять, где находятся в памяти объекты и указатели, что позволяет избежать утечки памяти при ложной идентификации объектов в качестве указателей. Введение скрытых классов и встроенных кэшей, ускоряющих доступ к свойствам и вызовам функций. V8 исполняет JavaScript-сценарии в особых «контекстах», которые по сути являются отдельными виртуальными машинами. Правда в одном процессе может работать только одна виртуальная машина, несмотря на возможность использования нескольких потоковОбзор возможностей движка V8 на серверах . В Chromium это обходится мультипроцессовой архитектурой, повышающей также стабильность и безопасность, реализуя таким образом механизм «песочницы»Обзор мультипроцессорной архитектуры . Таким образом, несмотря на динамическую природу JavaScript, разработчикам удалось применить методы, характерные для реализации классических объектно-ориентированных языков, такие как компиляция кода «на лету», внутреннее кэширование, точный процесс сборки мусора, снэпшоттинг при создании контекстов.

Движок V8 отличается от других движков (JScript, SpiderMonkey, JavaScriptCore, Nitro) высокой производительностьюDesign Elements Speed test: Google Chrome beats Firefox, IE, Safari Быстрый запуск веб-приложений Mozilla сравнивает производительность движков Проверить производительность движка JavaScript, используемого браузером, можно запустив тесты V8 Benchmark Suite , SunSpider , Kraken .

Продукты, использующие V8

Браузеры Chromium — веб-браузер с открытым исходным кодом, на основе которого создаётся ряд браузеров, наиболее популярным из которых является Chrome — веб-браузер компании Google Maxthon — веб-браузер со встроенным блокиратором рекламы, использующий два движка рендеринга: WebKit и Tridenthttp://www.maxthon.com/blog/maxthon-3-what-you-always-wanted-to-know/ We switched to Maxthon-modified version of Google’s open source V8 engine.; Браузер AndroidВключение движка V8 в мобильный браузер Froyo  — мобильный браузер, входящий в Android OS.

Операционные системы Android — операционная система от Google, предназначенная для коммуникаторов, нетбуков и планшетов, V8 используется начиная с Android Froyo. HP webOS — операционная система от Hewlett-Packard для коммуникаторов, нетбуков и планшетов, движок V8 используется во встроенном браузере. Google Chrome OS — операционная система от Google на базе проекта Chromium, ориентированная на облачные сервисы, движок является важным компонентом всей операционной системы.

См. также

SpiderMonkey JavaScriptCore Node.js

Примечания

Ссылки Официальный сайт проекта Документация Google V8 Тестирование производительности JavaScript-движка с помощью V8 Benchmark Suite Комплексное тестирование с помощью SunSpider, Kraken и V8 Benchmark производительности JavaScript-движков V8 — Виртуальная машина JavaScript

Категория:Виртуальные машины Категория:Движки JavaScript Категория:Компиляторы Категория:Google Категория:Свободное программное обеспечение Google