Search

Rss Posts

Rss Comments

Login

 

JIT компиляция JavaScript от Google: V8

Сен 28

Как вы знаете, Google Chrome перед выполнением JavaScript кода, сначала его компилирует в бинарный код целевой архитектуры. Такой трюк известен как Just-In-Time компиляция. Так делает и AVM2 Flash плейера версии 9. Гугловский движок называется скромно и загадочно: V8. Это уже стало традицией, отдавать подобные разработки в опенсурс (а нам это нравится), это сделал и Гугл, за что ему респект. Безусловно, компиляция JavaScript это серьезный шаг для в развитии WEB технологий. Хотя этого (только в глобальных масштабах, т.е. для всех браузеров) очень добивался Adobe со своим Tamarin’ом. Но козни Майкрософт не позволили принять стандарт EcmaScript 4, на котором основан Tamarin Traces Engine. Всякого рода затягивания для Майкрософт важны для утверждения на рынке своих технологий, в данном случае - Silverlight.

Но не будем о грустном!  Тесты!!! Я люблю всякого роды тесты и сравнения технологий, они всегда более объективны слов разработчиков. По этому адресу находится тест производительности JavaScript машины, который последовательно выпоняет пыть различных тестов. Результаты моего компа:

#

Браузер

Баллы (больше - лучше)

1 Firefox 3 119
2 Internet Explorer 7 31
3 Safari 3 138
4 Google Chrome 1342

 

Firefox

Microsoft

WebKit

The Chrome V8

Ну с Гуглхромом тут все понятно - оторвался на порядок. Порадовал Сафари, обогнавши Файрфокс. Непонятка вышла только с ИЕ. Правда, во время теста он порывался снять выполнение скрипта.

JScript warning

Я думаю это связанно с контроллем времени выполнения скрипта - чтоб не зациклился код, машина предпочитает просто обрубить его. Видать несколько раз такая исключительная ситуация возникала во время выполнения, что и повлияло на общее время. Короче Майкрософт, как всегда, самый особенный.

 

Дополнение: 

Следуя совету rooz’a, я попробовал этот тест на Файрфоксе с JavaScript-движком TraceMonkey. Мои результаты:

 [javascript.options.jit.chrome=true, javascript.options.jit.content=true]

  

 

[javascript.options.jit.chrome=false, javascript.options.jit.content=false]

 

Таким образом TraceMonkey не может полностью пройти тест производительности от Гугла. Зато без включенной компиляции этот движок работает немного быстрее стандартного (150 против 113).

Post a comment

You must be logged in to post a comment.