V8 (движок JavaScript)
![]() |
|
| Тип | |
|---|---|
| Разработчик | |
| Написана на | |
| Операционная система |
Android, Microsoft Windows, Mac OS X, FreeBSD, HP webOS[1][2] и Linux |
| Аппаратная платформа | |
| Последняя версия | |
| Состояние |
Активная разработка |
| Лицензия | |
| Сайт | |
V8 — движок JavaScript с открытым программным кодом, распространяемый по лицензии BSD. Разработан датским отделением компании Google.
Содержание |
О V8 [править]
Разработка JavaScript-движка V8 началась в датском отделении Google в городе Орхус. Ведущим разработчиком стал Ларс Бак (Lars Bak). Основными проблемами, которые пришлось решать разработчикам в движке, стали производительность и масштабируемость[6]. Первая лабораторная версия движка появилась 3 июля 2008 года[7], а уже 2 сентября была официально представлена версия 0.2.5, вошедшая в первый публичный релиз Chromium[8].
Ларс Бак считал[9], что краеугольными камнями V8 являются:
- Компиляция исходного кода JavaScript непосредственно в собственный машинный код, минуя стадию промежуточного байт-кода.
- Эффективная система управления памятью, приводящая к быстрому объектному выделению и маленьким паузам сборки «мусора»[10].
- V8 приостанавливает исполнение кода во время выполнения сборки «мусора».
- Уменьшает влияние и воздействие приостановки приложения при сборке «мусора».
- V8 может точно определять, где находятся в памяти объекты и указатели, что позволяет избежать утечки памяти при ложной идентификации объектов в качестве указателей.
- Введение скрытых классов и встроенных кэшей, ускоряющих доступ к свойствам и вызовы функции.
V8 исполняет JavaScript-сценарии в особых «контекстах», которые по сути являются отдельными виртуальными машинами. Правда в одном процессе может работать только одна виртуальная машина, несмотря на возможность использования нескольких потоков[11]. В Chromium это обходится мультипроцессовой архитектурой, повышающей также стабильность и безопасность, реализуя таким образом механизм «песочницы»[12]. Таким образом, несмотря на динамическую природу JavaScript, разработчикам удалось применить методы, характерные для реализации классических объектно-ориентированных языков, такие как компиляция кода «на лету», внутреннее кэширование, точный процесс сборки мусора, снэпшоттинг при создании контекстов[6][11].
Движок V8 отличается от других движков (JScript, SpiderMonkey, JavaScriptCore, Nitro) высокой производительностью[13][14][15][16][17].
Продукты, использующие V8 [править]
Браузеры [править]
- Chromium — веб-браузер с открытым исходным кодом, на основе которого создаются ряд браузеров.
- Google Chrome — веб-браузер от Google
- CoolNovo — веб-браузер от Maple Studios, расширяющий возможности Chromium.
- SRWare Iron — веб-браузер от компании SRWare, выпущенный в связи с тем, что Google Chrome отправляет компании Google сведения о пользователе.
- Comodo Dragon — веб-браузер от Comodo с дополнительными функциями, повышающими безопасность и конфиденциальность.
- Рамблер Нихром — веб-браузер от Рамблер с сервисами компании.[18]
- Flock — веб-браузер, нацеленный на работу с социальными сетями[19].
- Яндекс.Браузер — веб-браузер от Яндекс с сервисами компании.[20][21]
- Maxthon — веб-браузер со встроенным блокиратором рекламы, использующий два движка рендеринга: WebKit и Trident.[22]
- Браузер Android[23] — мобильный браузер, входящий в Android OS
Операционные системы [править]
- Android OS — операционная система от Google, предназначенная для коммуникаторов, нетбуков и планшетов. Используется в браузере, начиная с Froyo.
- HP webOS — операционная система от Hewlett-Packard для коммуникаторов, нетбуков и планшетов. Движок V8 используется в браузере Web.
- Google Chrome OS — операционная система от Google на базе проекта Chromium, ориентированная на облачные сервисы. V8 является важным компонентом ОС.
См. также [править]
| Портал «Свободное программное обеспечение» |
Примечания [править]
- ↑ Использование V8 в webOS (англ.)
- ↑ Обзор новой версии webOS 2.0 и встроенного браузера (рус.)
- ↑ Поддержка архитектур
- ↑ Официальная поддержка с версии 3.8.2
- ↑ V8 JavaScript Engine: Changelog. Google Code. Google (26 Mar 2013). Проверено 26 марта 2013.
- ↑ 1 2 Ларс Бак в Санкт-Петербурге (рус.)
- ↑ V8 JavaScript Engine initial export
- ↑ Запуск V8, Chromium и Google Chrome (англ.)
- ↑ Обзор возможностей (англ.)
- ↑ Эффективный сбор «мусора» (англ.)
- ↑ 1 2 Обзор возможностей движка V8 на серверах (рус.)
- ↑ Обзор мультипроцессорной архитектуры (англ.)
- ↑ Design Elements (англ.)
- ↑ Speed test: Google Chrome beats Firefox, IE, Safari (англ.)
- ↑ Быстрый запуск веб-приложений (рус.)
- ↑ Mozilla сравнивает производительность движков (англ.)
- ↑ Проверить производительность движка JavaScript, используемого браузером, можно запустив тесты V8 Benchmark Suite, SunSpider, Kraken
- ↑ Рамблер.Нихром — браузер на базе Chromium
- ↑ Flock меняет основу (англ.)
- ↑ Яндекс.Интернет — браузер на базе Chromium
- ↑ Яндекс Хром входит в каталог рекомендуемых программ Яндекса
- ↑ Релиз Maxthon 3 с движком Google V8. (англ.)
- ↑ Включение движка V8 в мобильный браузер Froyo (англ.)
Ссылки [править]
- Официальный сайт проекта (англ.)
- Документация Google V8 (англ.)
- Тестирование производительности JavaScript-движка с помощью V8 Benchmark Suite (англ.)
- Комплексное тестирование с помощью SunSpider, Kraken и V8 Benchmark производительности JavaScript-движков
- V8 — Виртуальная машина JavaScript (англ.)
| ECMAScript | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Диалекты | ActionScript · Caja · JavaScript (движки) · JScript · JScript .NET · Objective-J · QtScript · WMLScript | ||||||||||||
| Движки (сравнение) |
Carakan · Futhark · InScript · JavaScriptCore (SquirrelFish) · JScript · KJS · Linear B · Narcissus · QtScript · Rhino · YAJI · SpiderMonkey (TraceMonkey, JägerMonkey) · Tamarin · V8 · Chakra | ||||||||||||
| Фреймворки, библиотеки |
|
||||||||||||
| Люди | Брендан Айк · Дуглас Крокфорд · Джон Резиг | ||||||||||||
| Другое | DHTML · Ecma International · JSAN · JSDoc · JSLint · JSON · JSSS · Sputnik · SunSpider · CommonJS | ||||||||||||
| Свободное и открытое программное обеспечение | |
|---|---|
| Главное | |
| История |
GNU • Linux • Mozilla (Application Suite • Firefox • Thunderbird) |
| Организации |
ASF • AOSP • Blender Foundation • Eclipse Foundation • FreeBSD Foundation • freedesktop.org • FSF • FSMI • GNOME Foundation • Проект GNU • Google Code • KDE e.V. • Linux Foundation • Mozilla Foundation • OSGF • OSI • ReactOS Foundation • Software Freedom Conservancy • SourceForge • Symbian Foundation • The Document Foundation • Xiph.Org • XMPP Standards Foundation • X.Org Foundation |
| Лицензии |
Apache • Artistic • Beerware • BSD • GNU GPL • GNU LGPL • ISC • MIT • MPL • Ms-PL/RL • zlib • Public domain / CC0 • WTFPL • Лицензии, одобренные FSF • Пермиссивные лицензии • Разнообразие лицензий |
| Проблемы | |
| Прочее | |
