~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ C42271C8B8A830C851687C952186BEA0__1717153200 ✰
Заголовок документа оригинал.:
✰ V8 (JavaScript engine) - Wikipedia ✰
Заголовок документа перевод.:
✰ V8 (движок JavaScript) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/V8_(JavaScript_engine) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/c4/a0/c42271c8b8a830c851687c952186bea0.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/c4/a0/c42271c8b8a830c851687c952186bea0__translat.html ✰
Дата и время сохранения документа:
✰ 18.06.2024 11:06:38 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 31 May 2024, at 14:00 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

V8 (движок JavaScript) — Википедия Jump to content

V8 (движок JavaScript)

Из Википедии, бесплатной энциклопедии

V8
Разработчики) Google [1]
Начальная версия 2 сентября 2008 г .; 15 лет назад ( 2008-09-02 )
Стабильная версия
11.4 [2]  Отредактируйте это в Викиданных/ 24 мая 2023 г .; 12 месяцев назад ( 24 мая 2023 г. )
Репозиторий
Написано в С++ [1]
Платформа IA-32 , x86-64 , 32-битный ARM , AArch64 , 32-битный MIPS , MIPS64 , PowerPC , IBM ESA/390 , z/Architecture
Тип JavaScript и WebAssembly движок
Лицензия БСД [3]
Веб-сайт v8 .dev  Edit this on Wikidata

V8 — это движок JavaScript и WebAssembly , разработанный Google для Chrome браузера . [1] [4] V8 — это бесплатное программное обеспечение с открытым исходным кодом, которое является частью проекта Chromium , а также используется отдельно в контекстах, не связанных с браузером, в частности Node.js. системе времени выполнения в [1]

История [ править ]

Google создал V8 для своего браузера Chrome , и оба они были впервые выпущены в 2008 году. [4] Ведущим разработчиком V8 был Ларс Бак , и он был назван в честь мощного автомобильного двигателя . [5] В течение нескольких лет Chrome быстрее других браузеров выполнял JavaScript . [6] [7] [8]

V8 Ассемблер основан на ассемблере Strongtalk . [9] 7 декабря 2010 года была выпущена новая инфраструктура компиляции под названием Crankshaft с повышенной скоростью. [10] В версии 41 Chrome в 2015 году был добавлен проект TurboFan, чтобы обеспечить большее повышение производительности при работе с ранее сложными рабочими нагрузками, такими asm.js. как [11] Большая часть разработки V8 во многом вдохновлена ​​виртуальной машиной Java HotSpot , разработанной Sun Microsystems , причем новые конвейеры выполнения очень похожи на конвейеры HotSpot.

Поддержка нового языка WebAssembly началась в 2015 году. [12]

В 2016 году интерпретатор Ignition был добавлен в V8 с целью сокращения использования памяти на телефонах Android с небольшой памятью по сравнению с TurboFan и Crankshaft. [13] Ignition — это машина на основе регистров , имеющая схожий (хотя и не совсем такой же) дизайн с интерпретатором шаблонов, используемым HotSpot.

В 2017 году V8 выпустила совершенно новый конвейер компилятора , состоящий из Ignition ( интерпретатор ) и TurboFan ( оптимизирующий компилятор ). Начиная с V8 версии 5.9, Full-codegen (ранний базовый компилятор) и Crankshaft больше не используются в V8 для выполнения JavaScript, поскольку команда считала, что они больше не могут идти в ногу с новыми функциями языка JavaScript и оптимизацией, которую эти функции требуют. . [14]

В 2021 году с выпуском компилятора SparkPlug был представлен новый многоуровневый конвейер компиляции, который дополняет существующий компилятор TurboFan в V8 и является прямой параллелью компилятору профилирования C1, используемому HotSpot.

В 2023 году был добавлен компилятор на основе Maglev SSA , который в 10 раз медленнее, чем Sparkplug, но в 10 раз быстрее, чем TurboFan, устраняя разрыв между Sparkplug и TurboFan для менее часто выполняемых циклов, которые не становятся достаточно «горячими», чтобы их можно было оптимизировать с помощью TurboFan, как и большинство веб-приложений, которые тратят больше времени на взаимодействие с браузером, чем на выполнение JavaScript. [15]

Дизайн [ править ]

V8 сначала генерирует абстрактное синтаксическое дерево с помощью собственного анализатора. [16] Затем Ignition генерирует байт-код из этого синтаксического дерева, используя внутренний формат байт-кода V8 . [17] TurboFan компилирует этот байт-код в машинный код. Другими словами, V8 компилирует ECMAScript непосредственно в машинный код, используя JIT-компиляцию перед его выполнением. [18] Скомпилированный код дополнительно оптимизируется (и повторно оптимизируется) динамически во время выполнения на основе эвристики профиля выполнения кода. Используемые методы оптимизации включают встраивание , исключение дорогостоящих свойств времени выполнения и встроенное кэширование . Сборщик мусора — это сборщик поколений инкрементальный . [19]

Использование [ править ]

V8 может компилироваться в x86 , ARM или MIPS архитектуры набора команд как в 32-битной , так и в 64-битной версиях; он дополнительно портирован на PowerPC , [20] [21] и IBM ESA/390 и z/Architecture , [22] [20] для использования на серверах. [23]

V8 можно использовать в браузере или интегрировать в независимые проекты. V8 используется в следующем программном обеспечении:

См. также [ править ]

  • Blink , движок браузера Chromium.

Ссылки [ править ]

  1. ^ Перейти обратно: а б с д «Документация · V8» . Google . Проверено 3 марта 2024 г.
  2. ^ «Состояние платформы Chrome» . Проверено 29 июня 2023 г.
  3. ^ «v8/LICENSE.v8 у мастера» . Гитхаб.
  4. ^ Перейти обратно: а б Ленссен, Филипп (1 сентября 2008 г.). «Google в Google Chrome — комикс» . Google провел блогоскопию . Проверено 17 августа 2010 г.
  5. ^ «V8: движок JavaScript с открытым исходным кодом» . YouTube . Google . Проверено 15 марта 2024 г.
  6. ^ «Большой сравнительный тест браузеров: Internet Explorer против Firefox, Opera, Safari и Chrome» . Аппаратное обеспечение для компьютерных игр . Компьтек Медиа АГ. 3 июля 2009 г. Архивировано из оригинала 2 мая 2012 г. Проверено 28 июня 2010 г.
  7. ^ Парди, Кевин (11 июня 2009 г.). «Тесты скорости Lifehacker: Safari 4, Chrome 2» . Лайфхакер . Архивировано из оригинала 14 апреля 2021 года . Проверено 8 мая 2021 г.
  8. ^ «Mozilla спрашивает: «Мы уже быстры?» " . Проводной . Архивировано из оригинала 22 июня 2018 года . Проверено 18 января 2019 г.
  9. ^ «JavaScript Engine V8: Лицензия» . Гугл-код . Архивировано из оригинала 22 июля 2010 года . Проверено 17 августа 2010 г.
  10. ^ «Новый коленвал для V8» . Блог Хрома . 7 декабря 2010 года . Проверено 22 апреля 2011 г.
  11. ^ «Повышение производительности JavaScript с помощью TurboFan» . 7 июля 2015 года . Проверено 5 марта 2016 г.
  12. ^ «Экспериментальная поддержка WebAssembly в V8» . v8.dev . Проверено 12 марта 2024 г.
  13. ^ «BlinkOn 6 Day 1 Talk 2: Ignition — интерпретатор для V8» . YouTube . 26 июня 2016 г. Архивировано из оригинала 21 декабря 2021 г. Проверено 2 сентября 2016 г.
  14. ^ «Запуск зажигания и TurboFan» . 16 мая 2017 года . Проверено 13 июля 2017 г.
  15. ^ «Маглев — самая быстрая оптимизация JIT V8» . 5 декабря 2023 г. Проверено 26 января 2024 г.
  16. ^ Верваэст, Мульт (25 марта 2019 г.). «Невероятно быстрый парсинг, часть 1: оптимизация сканера · V8» . v8.dev . Архивировано из оригинала 21 апреля 2021 года . Проверено 1 июня 2021 г.
  17. ^ Хинкельманн, Франциска (19 декабря 2017 г.). «Понимание байт-кода V8» . Середина . Проверено 17 октября 2019 г.
  18. ^ «Запуск интерпретатора зажигания · V8» . v8.dev . Проверено 30 сентября 2020 г.
  19. ^ «Изменение правил игры в интерактивном представлении» . blog.chromium.org . 21 ноября 2011 года . Проверено 6 февраля 2022 г.
  20. ^ Перейти обратно: а б «Поддержка PPC для Google V8 становится массовой» . 30 июня 2015 г. Архивировано из оригинала 12 сентября 2015 г.
  21. ^ «GitHub — ibmruntimes/v8ppc: порт JavaScript-движка Google V8 на PowerPC®» . 21 апреля 2019 г. – через GitHub.
  22. ^ «Перенос JavaScript-движка Google V8 на z/OS. Порт Linux on Z поддерживается сообществом: ibmruntimes/v8z» . 2 апреля 2019 г. – через GitHub.
  23. ^ «Журнал изменений V8 v3.8.2» . Архивировано из оригинала 22 октября 2012 года . Проверено 23 октября 2012 г.
  24. ^ «Безопасная среда выполнения JavaScript/TypeScript, созданная с использованием V8, Rust и Tokio: denoland/deno» . 8 июля 2019 г. – через GitHub.
  25. ^ «Обзор — Документация NativeScript» . docs.nativescript.org .
  26. ^ Джоли О'Делл (10 марта 2011 г.). «Почему все говорят об Node» . Машаемый.
  27. ^ «Разница между qt qml и qt fast» . Переполнение стека . Проверено 26 сентября 2020 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: C42271C8B8A830C851687C952186BEA0__1717153200
URL1:https://en.wikipedia.org/wiki/V8_(JavaScript_engine)
Заголовок, (Title) документа по адресу, URL1:
V8 (JavaScript engine) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)