V8 (движок JavaScript)
Тип | |
---|---|
Разработчик | |
Написана на | |
Операционная система |
Android, Microsoft Windows, Mac OS X, FreeBSD, HP webOS[1][2] и Linux |
Аппаратная платформа | |
Состояние |
Активная разработка |
Лицензия | |
Сайт |
[code.google.com/p/v8/ ogle.com/p/v8/] |
V8 — движок JavaScript с открытым программным кодом, распространяемый по лицензии BSD. Разработан датским отделением компании Google.
Содержание
Особенности V8
Разработка JavaScript-движка V8 началась в датском отделении Google в городе Орхус. Ведущим разработчиком стал Ларс Бак (Lars Bak). Основными проблемами, которые пришлось решать разработчикам в движке, стали производительность и масштабируемость[5]. Первая лабораторная версия движка появилась 3 июля 2008 года[6], а уже 2 сентября была официально представлена версия 0.2.5, вошедшая в первый публичный релиз Chromium[7].
Ларс Бак считал[8], что краеугольными камнями V8 являются:
- Компиляция исходного кода JavaScript непосредственно в собственный машинный код, минуя стадию промежуточного байт-кода.
- Эффективная система управления памятью, приводящая к быстрому объектному выделению и маленьким паузам сборки «мусора»[9].
- V8 приостанавливает исполнение кода во время выполнения сборки «мусора».
- Уменьшает влияние и воздействие приостановки приложения при сборке «мусора».
- V8 может точно определять, где находятся в памяти объекты и указатели, что позволяет избежать утечки памяти при ложной идентификации объектов в качестве указателей.
- Введение скрытых классов и встроенных кэшей, ускоряющих доступ к свойствам и вызовы функции.
V8 исполняет JavaScript-сценарии в особых «контекстах», которые по сути являются отдельными виртуальными машинами. Правда в одном процессе может работать только одна виртуальная машина, несмотря на возможность использования нескольких потоков[10]. В Chromium это обходится мультипроцессовой архитектурой, повышающей также стабильность и безопасность, реализуя таким образом механизм «песочницы»[11]. Таким образом, несмотря на динамическую природу JavaScript, разработчикам удалось применить методы, характерные для реализации классических объектно-ориентированных языков, такие как компиляция кода «на лету», внутреннее кэширование, точный процесс сборки мусора, снэпшоттинг при создании контекстов[5][10].
Движок V8 отличается от других движков (JScript, SpiderMonkey, JavaScriptCore, Nitro) высокой производительностью[12][13][14][15][16].
Продукты, использующие V8
Браузеры
- Chromium — веб-браузер с открытым исходным кодом, на основе которого создаются ряд браузеров, наиболее популярным из которых является Chrome — веб-браузер компании Google
- Maxthon — веб-браузер со встроенным блокиратором рекламы, использующий два движка рендеринга: WebKit и Trident[17];
- Браузер Android[18] — мобильный браузер, входящий в Android OS.
Операционные системы
- Android OS — операционная система от Google, предназначенная для коммуникаторов, нетбуков и планшетов. Используется в браузере, начиная с Froyo.
- HP webOS — операционная система от Hewlett-Packard для коммуникаторов, нетбуков и планшетов. Движок V8 используется в браузере Web.
- Google Chrome OS — операционная система от Google на базе проекта Chromium, ориентированная на облачные сервисы. V8 является важным компонентом ОС.
См. также
Портал «Свободное программное обеспечение» |
Напишите отзыв о статье "V8 (движок JavaScript)"
Примечания
- ↑ [www.precentral.net/palm-and-hp-oscon2010-open-source-inevitable Использование V8 в webOS] (англ.)
- ↑ [www.computerra.ru/vision/559188/ Обзор новой версии webOS 2.0 и встроенного браузера] (рус.)
- ↑ [developers.google.com/v8/intro Поддержка архитектур]
- ↑ Официальная поддержка с версии 3.8.2
- ↑ 1 2 [googlerussiablog.blogspot.com/2009/12/google_24.html Ларс Бак в Санкт-Петербурге], 2009-12 (рус.)
- ↑ [code.google.com/p/v8/source/detail?r=2 V8 JavaScript Engine initial export]
- ↑ [googlecode.blogspot.com/2008/09/google-chrome-chromium-and-v8-launch.html Запуск V8, Chromium и Google Chrome], 2008-09 (англ.)
- ↑ [blog.chromium.org/2008/09/google-chromes-need-for-speed_02.html Обзор возможностей], 2008-09 (англ.)
- ↑ [developers.google.com/v8/design#garb_coll Эффективный сбор «мусора»] (англ.)
- ↑ 1 2 [sysoev.ru/prog/v8.html Обзор возможностей движка V8 на серверах] (рус.)
- ↑ [dev.chromium.org/developers/design-documents/multi-process-architecture Обзор мультипроцессорной архитектуры] (англ.)
- ↑ [developers.google.com/v8/design Design Elements] (англ.)
- ↑ [news.cnet.com/8301-17939_109-10030888-2.html Speed test: Google Chrome beats Firefox, IE, Safari] (англ.)
- ↑ [www.google.com/intl/ru/chrome/browser/features.html#speed Быстрый запуск веб-приложений] (рус.)
- ↑ [www.webmonkey.com/2010/09/mozilla-asks-are-we-fast-yet/ Mozilla сравнивает производительность движков] (англ.)
- ↑ Проверить производительность движка JavaScript, используемого браузером, можно запустив тесты [v8.googlecode.com/svn/data/benchmarks/v6/run.html V8 Benchmark Suite], [www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html SunSpider], [krakenbenchmark.mozilla.org/ Kraken]
- ↑ 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.
- ↑ [www.gadgetsnreviews.com/here-gets-launched-the-android-2-2-froyo-update-for-nexus-one-‘officially’-by-google/2397.html Включение движка V8 в мобильный браузер Froyo](недоступная ссылка с 23-11-2013 (3806 дней))
Ссылки
- [code.google.com/p/v8/ Официальный сайт проекта] (англ.)
- [developers.google.com/v8/intro Документация Google V8] (англ.)
- [v8.googlecode.com/svn/data/benchmarks/v6/run.html Тестирование производительности JavaScript-движка с помощью V8 Benchmark Suite] (англ.)
- [mansio.ru/benchmark Комплексное тестирование с помощью SunSpider, Kraken и V8 Benchmark производительности JavaScript-движков]
- [channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/ V8 — Виртуальная машина JavaScript] (англ.)
|
|
Отрывок, характеризующий V8 (движок JavaScript)
– Люблю, что позаботился, люблю, останешься доволен…И он, похлопав Берга по плечу, встал, желая прекратить разговор. Но Берг, приятно улыбаясь, объяснил, что, ежели он не будет знать верно, что будет дано за Верой, и не получит вперед хотя части того, что назначено ей, то он принужден будет отказаться.
– Потому что рассудите, граф, ежели бы я теперь позволил себе жениться, не имея определенных средств для поддержания своей жены, я поступил бы подло…
Разговор кончился тем, что граф, желая быть великодушным и не подвергаться новым просьбам, сказал, что он выдает вексель в 80 тысяч. Берг кротко улыбнулся, поцеловал графа в плечо и сказал, что он очень благодарен, но никак не может теперь устроиться в новой жизни, не получив чистыми деньгами 30 тысяч. – Хотя бы 20 тысяч, граф, – прибавил он; – а вексель тогда только в 60 тысяч.
– Да, да, хорошо, – скороговоркой заговорил граф, – только уж извини, дружок, 20 тысяч я дам, а вексель кроме того на 80 тысяч дам. Так то, поцелуй меня.
Наташе было 16 лет, и был 1809 год, тот самый, до которого она четыре года тому назад по пальцам считала с Борисом после того, как она с ним поцеловалась. С тех пор она ни разу не видала Бориса. Перед Соней и с матерью, когда разговор заходил о Борисе, она совершенно свободно говорила, как о деле решенном, что всё, что было прежде, – было ребячество, про которое не стоило и говорить, и которое давно было забыто. Но в самой тайной глубине ее души, вопрос о том, было ли обязательство к Борису шуткой или важным, связывающим обещанием, мучил ее.
С самых тех пор, как Борис в 1805 году из Москвы уехал в армию, он не видался с Ростовыми. Несколько раз он бывал в Москве, проезжал недалеко от Отрадного, но ни разу не был у Ростовых.
Наташе приходило иногда к голову, что он не хотел видеть ее, и эти догадки ее подтверждались тем грустным тоном, которым говаривали о нем старшие:
– В нынешнем веке не помнят старых друзей, – говорила графиня вслед за упоминанием о Борисе.
Анна Михайловна, в последнее время реже бывавшая у Ростовых, тоже держала себя как то особенно достойно, и всякий раз восторженно и благодарно говорила о достоинствах своего сына и о блестящей карьере, на которой он находился. Когда Ростовы приехали в Петербург, Борис приехал к ним с визитом.
Он ехал к ним не без волнения. Воспоминание о Наташе было самым поэтическим воспоминанием Бориса. Но вместе с тем он ехал с твердым намерением ясно дать почувствовать и ей, и родным ее, что детские отношения между ним и Наташей не могут быть обязательством ни для нее, ни для него. У него было блестящее положение в обществе, благодаря интимности с графиней Безуховой, блестящее положение на службе, благодаря покровительству важного лица, доверием которого он вполне пользовался, и у него были зарождающиеся планы женитьбы на одной из самых богатых невест Петербурга, которые очень легко могли осуществиться. Когда Борис вошел в гостиную Ростовых, Наташа была в своей комнате. Узнав о его приезде, она раскрасневшись почти вбежала в гостиную, сияя более чем ласковой улыбкой.
Борис помнил ту Наташу в коротеньком платье, с черными, блестящими из под локон глазами и с отчаянным, детским смехом, которую он знал 4 года тому назад, и потому, когда вошла совсем другая Наташа, он смутился, и лицо его выразило восторженное удивление. Это выражение его лица обрадовало Наташу.
– Что, узнаешь свою маленькую приятельницу шалунью? – сказала графиня. Борис поцеловал руку Наташи и сказал, что он удивлен происшедшей в ней переменой.
– Как вы похорошели!
«Еще бы!», отвечали смеющиеся глаза Наташи.
– А папа постарел? – спросила она. Наташа села и, не вступая в разговор Бориса с графиней, молча рассматривала своего детского жениха до малейших подробностей. Он чувствовал на себе тяжесть этого упорного, ласкового взгляда и изредка взглядывал на нее.
Мундир, шпоры, галстук, прическа Бориса, всё это было самое модное и сomme il faut [вполне порядочно]. Это сейчас заметила Наташа. Он сидел немножко боком на кресле подле графини, поправляя правой рукой чистейшую, облитую перчатку на левой, говорил с особенным, утонченным поджатием губ об увеселениях высшего петербургского света и с кроткой насмешливостью вспоминал о прежних московских временах и московских знакомых. Не нечаянно, как это чувствовала Наташа, он упомянул, называя высшую аристократию, о бале посланника, на котором он был, о приглашениях к NN и к SS.
Наташа сидела всё время молча, исподлобья глядя на него. Взгляд этот всё больше и больше, и беспокоил, и смущал Бориса. Он чаще оглядывался на Наташу и прерывался в рассказах. Он просидел не больше 10 минут и встал, раскланиваясь. Всё те же любопытные, вызывающие и несколько насмешливые глаза смотрели на него. После первого своего посещения, Борис сказал себе, что Наташа для него точно так же привлекательна, как и прежде, но что он не должен отдаваться этому чувству, потому что женитьба на ней – девушке почти без состояния, – была бы гибелью его карьеры, а возобновление прежних отношений без цели женитьбы было бы неблагородным поступком. Борис решил сам с собою избегать встреч с Наташей, нo, несмотря на это решение, приехал через несколько дней и стал ездить часто и целые дни проводить у Ростовых. Ему представлялось, что ему необходимо было объясниться с Наташей, сказать ей, что всё старое должно быть забыто, что, несмотря на всё… она не может быть его женой, что у него нет состояния, и ее никогда не отдадут за него. Но ему всё не удавалось и неловко было приступить к этому объяснению. С каждым днем он более и более запутывался. Наташа, по замечанию матери и Сони, казалась по старому влюбленной в Бориса. Она пела ему его любимые песни, показывала ему свой альбом, заставляла его писать в него, не позволяла поминать ему о старом, давая понимать, как прекрасно было новое; и каждый день он уезжал в тумане, не сказав того, что намерен был сказать, сам не зная, что он делал и для чего он приезжал, и чем это кончится. Борис перестал бывать у Элен, ежедневно получал укоризненные записки от нее и всё таки целые дни проводил у Ростовых.