V8 (движок JavaScript)

V8 (движок JavaScript)
V8 JavaScript Engine
V8 JavaScript engine logo.png
Тип

Движок JavaScript

Разработчик

Google Inc.

Написана на

C++, JavaScript

Операционная система

Android, Microsoft Windows, Mac OS X, FreeBSD, HP webOS[1][2] и Linux

Аппаратная платформа

x86, ARM[3], MIPS[4]

Последняя версия

3.15.7[5] (30 ноября 2012)

Состояние

Активная разработка

Лицензия

BSD

Сайт

code.google.com/p/v8/

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

Содержание

О V8

Разработка JavaScript-движка V8 началась в датском отделении Google в городе Орхус. Ведущим разработчиком стал Ларс Бак (Lars Bak). Основными проблемами, которые пришлось решать разработчикам в движке, стали производительность и масштабируемость[6]. Первая лабораторная версия движка появилась 3 июля 2008 года[5], а уже 2 сентября была официально представлена версия 0.2.5, вошедшая в первый публичный релиз Chromium[7].
Ларс Бак считал[8], что краеугольными камнями V8 являются:

  • Компиляция исходного кода JavaScript непосредственно в собственный машинный код, минуя стадию промежуточного байт-кода.
  • Эффективная система управления памятью, приводящая к быстрому объектному выделению и маленьким паузам сборки «мусора»[9].
    • V8 приостанавливает исполнение кода во время выполнения сборки «мусора».
    • Уменьшает влияние и воздействие приостановки приложения при сборке «мусора».
    • V8 может точно определять, где находятся в памяти объекты и указатели, что позволяет избежать утечки памяти при ложной идентификации объектов в качестве указателей.
  • Введение скрытых классов и встроенных кэшей, ускоряющие доступ к свойствам и вызовы функции.

V8 исполняет JavaScript-сценарии в особых «контекстах», которые по сути являются отдельными виртуальными машинами. Правда в одном процессе может работать только одна виртуальная машина, несмотря на возможность использования нескольких потоков[10]. В Chromium это обходится мультипроцессовой архитектурой, повышающей также стабильность и безопасность, реализуя таким образом механизм «песочницы»[11]. Таким образом, несмотря на динамическую природу JavaScript, разработчикам удалось применить методы, характерные для реализации классических объектно-ориентированных языков, такие как компиляция кода «на лету», внутреннее кэширование, точный процесс сборки мусора, снэпшоттинг при создании контекстов[6][10].

Движок V8 отличается от других движков (JScript, SpiderMonkey, JavaScriptCore, Nitro) высокой производительностью[12][13][14][15][16].

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

Браузеры

  • Chromium — веб-браузер с открытым исходным кодом, на основе которого создаются ряд браузеров.
    • Google Chrome — веб-браузер от Google
    • CoolNovo — веб-браузер от Maple Studios, расширяющий возможности Chromium.
    • SRWare Iron — веб-браузер от компании SRWare, выпущенный в связи с тем, что Google Chrome отправляет компании Google сведения о пользователе.
    • Comodo Dragon — веб-браузер от Comodo с дополнительными функциями, повышающими безопасность и конфиденциальность.
    • Рамблер Нихром — веб-браузер от Рамблер с сервисами компании.[17]
    • Flock — веб-браузер, нацеленный на работу с социальными сетями[18].
    • Яндекс.Браузер — веб-браузер от Яндекс с сервисами компании.[19][20]
  • Maxthon — веб-браузер со встроенным блокиратором рекламы, использующий два движка рендеринга: WebKit и Trident.[21]
  • Браузер Android[22] — мобильный браузер, входящий в Android OS

Операционные системы

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

См. также

Примечания

  1. Использование V8 в webOS (англ.)
  2. Обзор новой версии webOS 2.0 и встроенного браузера (рус.)
  3. Поддержка архитектур
  4. Официальная поддержка с версии 3.8.2
  5. 1 2 V8 JavaScript Engine  (англ.). Google Inc.. — История изменений V8. Архивировано из первоисточника 18 марта 2012. Проверено 30 ноября 2012.
  6. 1 2 Ларс Бак в Санкт-Петербурге (рус.)
  7. Запуск V8, Chromium и Google Chrome (англ.)
  8. Обзор возможностей (англ.)
  9. Эффективный сбор «мусора» (англ.)
  10. 1 2 Обзор возможностей движка V8 на серверах (рус.)
  11. Обзор мультипроцессорной архитектуры (англ.)
  12. Design Elements (англ.)
  13. Speed test: Google Chrome beats Firefox, IE, Safari (англ.)
  14. Быстрый запуск веб-приложений (рус.)
  15. Mozilla сравнивает производительность движков (англ.)
  16. Проверить производительность движка JavaScript, используемого браузером, можно запустив тесты V8 Benchmark Suite, SunSpider, Kraken
  17. Рамблер.Нихром — браузер на базе Chromium
  18. Flock меняет основу (англ.)
  19. Яндекс.Интернет — браузер на базе Chromium
  20. Яндекс Хром входит в каталог рекомендуемых программ Яндекса
  21. Релиз Maxthon 3 с движком Google V8(англ.)
  22. Включение движка V8 в мобильный браузер Froyo (англ.)

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "V8 (движок JavaScript)" в других словарях:

  • Движок JavaScript — Не следует путать с Java Runtime Environment. Движок JavaScript  специализированная программа, обрабатывающая JavaScript, в частности, в браузерах. Содержание 1 История 2 Движки JavaScript 2.1 Mozilla …   Википедия

  • JavaScript — Не следует путать с Java. JavaScript Класс языка: мультипарадигменный …   Википедия

  • Вики-движок — Вики движок  набор программ, служащий для преобразования вики разметки в удобочитаемое представление на языке HTML. Содержание 1 DidiWiki 2 DokuWiki 3 dominoWiki 4 FlexWiki …   Википедия

  • Unity (игровой движок) — У этого термина существуют и другие значения, см. Unity (значения). Unity …   Википедия

  • История Mozilla Firefox — Объединить Mozilla Firefox …   Википедия

  • День загрузки — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер …   Википедия

  • Огнелис — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер …   Википедия

  • Фаерфокс — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер …   Википедия

  • Файерфокс — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер …   Википедия

  • Файрфокс — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»