Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
V8 (движок JavaScript)

V8 (движок JavaScript)

Материал из Википедии — свободной энциклопедии

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

История

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

Технические характеристики

Ларс Бак считал[12], что краеугольными камнями V8 являются:

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

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

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

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

Браузеры

  • Chromium — веб-браузер с открытым исходным кодом, на основе которого создаётся ряд браузеров, наиболее популярным из которых является Chrome — веб-браузер компании Google
  • Maxthon — веб-браузер со встроенным блокиратором рекламы, использующий два движка рендеринга: WebKit и Trident[21];
  • Браузер Android[22] — мобильный браузер, входящий в Android OS.

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

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

См. также

Примечания

  1. Использование V8 в webOSАрхивировано 24 июля 2010 года. (англ.)
  2. Обзор новой версии webOS 2.0 и встроенного браузераАрхивная копия от 4 сентября 2010 на Wayback Machine (рус.)
  3. Поддержка архитектур. Дата обращения: 10 марта 2013. Архивировано 4 апреля 2017 года.
  4. Официальная поддержка с версии 3.8.2
  5. Chrome Platform Status. Дата обращения: 20 мая 2024. Архивировано 21 мая 2024 года.
  6. https://github.com/v8/v8/graphs/contributors?type=a
  7. The v8-js Open Source Project on Open Hub: Languages Page — 2006.
  8. https://github.com/v8/v8/blob/master/LICENSE.v8
  9. 12Ларс Бак в Санкт-ПетербургеАрхивная копия от 8 марта 2013 на Wayback Machine, 2009-12 (рус.)
  10. V8 JavaScript Engine initial export. Дата обращения: 10 марта 2013. Архивировано 3 октября 2014 года.
  11. Запуск V8, Chromium и Google ChromeАрхивная копия от 13 марта 2015 на Wayback Machine, 2008-09 (англ.)
  12. Обзор возможностейАрхивная копия от 3 декабря 2010 на Wayback Machine, 2008-09 (англ.)
  13. Эффективный сбор «мусора»Архивная копия от 17 сентября 2013 на Wayback Machine (англ.)
  14. 12Обзор возможностей движка V8 на серверахАрхивная копия от 29 июля 2013 на Wayback Machine (рус.)
  15. Обзор мультипроцессорной архитектурыАрхивная копия от 19 мая 2013 на Wayback Machine (англ.)
  16. Design ElementsАрхивная копия от 17 сентября 2013 на Wayback Machine (англ.)
  17. Speed test: Google Chrome beats Firefox, IE, SafariАрхивная копия от 19 января 2012 на Wayback Machine (англ.)
  18. Быстрый запуск веб-приложенийАрхивная копия от 9 августа 2013 на Wayback Machine (рус.)
  19. Mozilla сравнивает производительность движковАрхивная копия от 11 сентября 2010 на Wayback Machine (англ.)
  20. Проверить производительность движка JavaScript, используемого браузером, можно запустив тесты V8 Benchmark SuiteАрхивировано 4 марта 2013 года., SunSpiderАрхивная копия от 27 декабря 2012 на Wayback Machine, KrakenАрхивная копия от 1 июля 2020 на Wayback Machine
  21. http://www.maxthon.com/blog/maxthon-3-what-you-always-wanted-to-know/Архивная копия от 27 февраля 2014 на Wayback Machine We switched to Maxthon-modified version of Google’s open source V8 engine.
  22. Включение движка V8 в мобильный браузер FroyoАрхивная копия от 1 января 2011 на Wayback Machine (недоступная ссылка с 23-11-2013 [4526 дней])

Ссылки

V8 JavaScript Engine
Логотип программы V8 JavaScript Engine
ТипДвижок JavaScript
РазработчикиЛарс Бак, Кристиан Плеснер Хансен[вд], Каспер Лунд[вд], Мадс Сиг Агер[вд], Бенедикт Мёрер[вд] и Ян Го[вд][6]
Написана наC++[7] и JavaScript
Операционные системы Android, Microsoft Windows, macOS, FreeBSD, LG webOS[1][2] и Linux
Дата выпуска3 июля 2008
Аппаратные платформы x86, ARM[3], MIPS[4]
Последняя версия11.4[5] (24 мая 2023)
Репозиторийchromium.googlesource.com/…
Состояние Активная разработка
Лицензиямодифицированная лицензия BSD[8]
Сайтv8.dev
Логотип Викисклада Медиафайлы на Викискладе