The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Разработчики Mozilla приступили к созданию гибридного JavaScript-движка V8Monkey

22.04.2011 15:07

Разработчики проекта Mozilla выступили с инициативой обеспечения возможности запуска на базе используемого в Firefox движка SpiderMonkey серверной JavaScript-платформы node.js, позволяющей создавать высокопроизводительные сетевые приложения на языке JavaScript. Основная проблема при портировании связана с привязкой node.js к особенностям реализации JavaScript-движка V8, разработанного компанией Google для проекта Chrome. По мнению инициаторов проекта в последнее время наблюдается рост интереса к серверным JavaScript-решениям, если среди клиентских решений продукты Mozilla достаточно успешно конкурируют с другими браузерами, то в серверной среде движок V8 пока остаётся безальтернативным решением.

Рассмотрев возможные пути выхода из сложившейся ситуации разработчики пришли к выводу, что наиболее оптимальным вариантом станет создание гибридного JavaScript-движка, в котором поддержка API V8 реализована на базе кода SpiderMonkey. В случае перевода node.js на API SpiderMonkey потребовалась бы довольно значительная переработка кода платформы, которая несопоставима по трудозатратам с созданием надстройки, обеспечивающей эмуляцию API V8. Дополнительным плюсом выбранного подхода является то, что при выходе новой версии node.js её не придется портировать заново, код можно будет использовать без внесения в него изменений.

Итоговый гибридный движок получил название V8Monkey, конечной целью разработки которого является обеспечение сборки основанных на движке V8 приложений с использованием движка SpiderMonkey. Работа по адаптации платформы node.js для использования SpiderMonkey осуществляется в рамках проекта SpiderNode. В будущем созданные для SpiderNode наработки по интеграции поддержки SpiderMonkey в систему сборки node.js планируется передать в основной проект node.js.

Примечательно, что изначально создатели платформы node.js пытались использовать движок SpiderMonkey, но после нескольких дней экспериментов перешли на использование V8. В качестве достоинств V8 был назван ясный и простой API, качество документации, независимость от проекта Chrome и других библиотек, а также поставка движка в виде отдельной библиотеки и простота компоновки с другими проектами. По мнению разработчиков Mozilla проект V8Monkey поможет проанализировать недостатки API SpiderMonkey и внести в него необходимые изменения. Также рассматривается возможность перевода API SpiderMonkey с представления на языке Си в Си++.

  1. Главная ссылка к новости (http://www.theregister.co.uk/2...)
  2. OpenNews: Релиз серверной JavaScript-платформы node.js 0.4
  3. OpenNews: В движке V8 появилась новая подсистема JIT-компиляции JavaScript-кода
  4. OpenNews: Представлены результаты работы по интеграции JavaScript-движка V8 в Qt
  5. OpenNews: Для JavaScript-движка Firefox создается новый JIT-компилятор
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/30333-SpiderMonkey
Ключевые слова: SpiderMonkey, javascript, v8, api, nodejs
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, ascrzy (?), 17:35, 22/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Интересно, они действительно думают что их SpiderMonkey с костылём в виде эмулятора V8 api поверх движка, будет работать так же быстро как с оригинальным V8
    ИМХО, бредовая идея
     
     
  • 2.39, Xasd (ok), 17:58, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > работать так же быстро как с оригинальным V8

    оригинальный движок V8 вообще  написан (отчасти) на ассембрере.... и как следствие -- существует много архитектур на которых ВООБЩЕ V8 не работает НИКАК!

    (например PS3-PPC)

    ...такчто в выборе "не работает вообще" и "работает" -- уж лучше вариант "работает" ... поэтому Mozilla'вцы молодцы! :-)

     
     
  • 3.40, arisu (ok), 23:40, 15/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > оригинальный движок V8 вообще  написан (отчасти) на ассембрере….

    (тоскливо) нет, торагой, не написан он на ассемблере, даже отчасти. и не спорь о вкусе устриц с теми, кто мало того, что их ел, так ещё и умеет их готовить: одна из моих самых активных областей интересов — компиляторы и JIT-компиляторы.

    > и как следствие
    > — существует много архитектур на которых ВООБЩЕ V8 не работает НИКАК!

    нет, не работает он на других архитектурах не потому, что «написан отчасти на ассемблере», а потому что он генерирует на выходе «родной» машинный код, никакой VM там внутри попросту нет. что никак не мешает написать генераторы для нужных архитектур: лишь бы их gcc поддерживал, чтобы сам V8 для них собрать. в первых версиях V8 вообще ничего, кроме x86, не умел. ничего, понадобилось — допилили.

    если вдруг тебе будет *очень* интересно — попробуй разобраться в структуре V8. глядишь, поймёшь.

     

  • 1.2, brother anon (?), 17:36, 22/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Смешно блин, реактивный V8 предлагают заменить на тормозной SpiderMonkey.
     
     
  • 2.4, Аноним (-), 17:57, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >реактивный V8
    >тормозной SpiderMonkey

    Гуглобои такие гуглобои. Спайдерманки в некоторых тестах опережает в8, например, санспайдер. На ровне, например, в кракен. И отстает только в тесте от создателей в8 - в8 бенчмарк.

     
     
  • 3.7, megabaks (ok), 18:53, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    sunspider:
    firefox4 - Total:                 227.2ms +/- 1.2% (при этом не отображает ход процесса)
    chromium 12 - Total:                 244.8ms +/- 2.2%
    Kraken:
    firefox4 - Total:                        6596.9ms +/- 1.5% (не отображает ход процесса)
    chromium 12 - Total:                        5408.9ms +/- 0.7%

    ну и кто тут фанбой? :3

     
     
  • 4.8, Аноним (-), 19:12, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну и что тут? Санспайдер фф выиграл, кракен  немного проиграл. Видимо, что-то немного улучшили в в8. Но из этих результатов называть движок фф тормозным глупо.
     
     
  • 5.9, megabaks (ok), 19:22, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ну тормозным - глупо, согласен
    это не опера с её 12236.6ms )
    но таки лиса просто некорректно работает с этими тестами
    и давай посчитаем:
    227/244*100 = 93%
    6596/5408*100 = 122%
    назвать это "Санспайдер фф выиграл, кракен  немного проиграл" у меня язык не поворачивается
     
     
  • 6.11, Аноним (-), 19:30, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Назвать это "Санспайдер фф выиграл, кракен  немного проиграл" у меня язык не поворачивается

    http://arewefastyet.com/
    Например.

    Просто это говорит о том, что если в одно конкретном тесте фф сильно сливает, это не означает, что движок тормозной. В некоторых задачах он почти такой же, а в некоторых даже и получше. Ваще, если допортируют, результат не заставит себя ждать.

     
     
  • 7.16, megabaks (ok), 20:28, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    сравни разницу в процентах
    и подумай, что ты называешь выигрышем и что "немного"
    а твой линк мне ни о чём не говорит
    просто цифры некого дяди - не более
     
     
  • 8.17, Аноним (-), 22:31, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это проект мозиллы А вот твои цифры достоверности имеют мало ... текст свёрнут, показать
     
     
  • 9.18, megabaks (ok), 23:02, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    just lol... текст свёрнут, показать
     
     
  • 10.19, Аноним (-), 23:13, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Исходнички прилагаются http hg mozilla org users danderson_mozilla com awfy ... текст свёрнут, показать
     
     
  • 11.20, megabaks (ok), 23:40, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    какое это имеет отношение к достоверности моих цифр ... текст свёрнут, показать
     
     
  • 12.21, Аноним (-), 00:06, 23/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это к достоверности их цифр Твоих - никакое Что угодно могу там понаписать ... текст свёрнут, показать
     
     
  • 13.22, megabaks (ok), 00:57, 23/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    тебе скринов мало или ты думаешь я так быстро рисую а вообще - зафлудились м... текст свёрнут, показать
     
  • 6.13, anonymous (??), 19:35, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > ну тормозным — глупо, согласен
    > это не опера с её 12236.6ms )

    ORLY? только что проверил.
    Opera 11.10: 292.6ms +/- 3.9%
    Firefox 4.0.1: 242.6ms +/- 1.0%
    при этом бедная опера усиленно моргала экраном, тормозилла — нет.

    где обещаные 12? зачем ты меня обманул?

     
     
  • 7.14, megabaks (ok), 19:40, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ок:
    лисичка - http://ompldr.org/vOGRuZA/22.04.2011-19:39.png
    опера - http://ompldr.org/vOGRuZQ/22.04.2011-19:40.png
     
  • 7.15, anonymous (??), 19:41, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а, нашёл. это на хрякене опера в два раза тормозилле слила.
     
  • 6.28, _HK_ (?), 10:03, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А может так надо:
    227÷244×100=93%
    5408÷6596×100=82%
    или так:
    244÷227×100=107.5%
    6596÷5408×100=122%
     
     
  • 7.30, megabaks (ok), 12:28, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А может так надо:
    > 227÷244×100=93%
    > 5408÷6596×100=82%
    > или так:
    > 244÷227×100=107.5%
    > 6596÷5408×100=122%

    да, но разница очевидна
    говорить, что с разницей в 7% - это "выиграл", а 22% - это "немного проиграл", мягко говоря, некорректно

     
  • 5.10, лдл (?), 19:27, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    кранкшафт они сделали в десятом хроме, до этого в8 проигрывал. а вообще удобнее сравнивать по http://arewefastyet.com/ , правда там версии из транка
     
     
  • 6.12, Crazy Alex (??), 19:31, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В данном случае транк как раз к месту - на V8Monkey навреняка оттуда же код будет браться
     
  • 4.25, 0xFACE (?), 14:55, 23/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ну и кто тут фанбой? :3

    Вы, разумеется. Один тест выигран. Второй проигран. Налицо рубка примерно на равных. А у вас почему-то победителем безоговорочно объявлен V8. Вот это и называется фанатизмом.

     
     
  • 5.27, megabaks (ok), 09:22, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> ну и кто тут фанбой? :3
    > Вы, разумеется. Один тест выигран. Второй проигран. Налицо рубка примерно на равных.
    > А у вас почему-то победителем безоговорочно объявлен V8. Вот это и
    > называется фанатизмом.

    ты тоже не смог посчитать?

     
     
  • 6.29, Elhana (ok), 11:57, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    И тут неожиданно следующая новость:
    https://www.opennet.ru/opennews/art.shtml?num=30338

    В которой V8 самый медленный. Даже если не брать во внимание результаты IE10 по религиозным соображениям, все равно лиса быстрее в разы.

     
     
  • 7.37, megabaks (ok), 10:48, 26/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И тут неожиданно следующая новость:
    > https://www.opennet.ru/opennews/art.shtml?num=30338
    > В которой V8 самый медленный. Даже если не брать во внимание результаты
    > IE10 по религиозным соображениям, все равно лиса быстрее в разы.

    и?
    про 10-ку вообще надо бы помолчать - его как такового вообще не существует пока
    + попытки выдать некий код за эталон...
    ну ты понел :3
    + в реальности то хромой таки шустрее

     
  • 6.35, Капитан О. (?), 01:38, 26/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ты тоже не смог посчитать?

    Фанаты такие фанаты. Стоит только заикнуться что их фетиш не идеален, как тут же появляется масса способов подсчета, море соплей и сплошной Get The Fuckts.

     
     
  • 7.36, megabaks (ok), 10:46, 26/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> ты тоже не смог посчитать?
    > Фанаты такие фанаты. Стоит только заикнуться что их фетиш не идеален, как
    > тут же появляется масса способов подсчета, море соплей и сплошной Get
    > The Fuckts.

    понятно - так и запишем - считать не умеешь
    + фанатик
    ибо тут никаких гетзефактов нет - тут сухие цифры
    таки дела

     
  • 4.33, Зилибоба (ok), 17:40, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Что интересно, на моей машине:
    opera 11.01 Total: 695.2ms +/- 9.6%
    chromium 12.0.747.0 Total: 1141.4ms +/- 4.7%
     

  • 1.6, Аноним (-), 18:27, 22/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Зачем изобретать велосипед, когда можно просто использовать V8? Ну или на крайний случай форкнуться от него, он же ведь распространяется под лицензией BSD.
     
     
  • 2.24, 0xFACE (?), 14:52, 23/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вы еще забыли добавить что 640Кб хватит всем.
     
  • 2.26, antono (??), 04:33, 24/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно вот что:

    1) В SpiderMonkey есть вкусняшки которых еще долго не будет в V8.
    2) Каким образом лицензия BSD помогает форкаться?

     
     
  • 3.31, bootforce (?), 13:49, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    что за вкусняшки такие?
     
     
  • 4.32, anonymous (??), 14:08, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > что за вкусняшки такие?

    на вскидку — только наличие plain C API из коробки. и отсутствие C++ API.

     

  • 1.34, rewlad (?), 01:29, 26/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/

    1) новые возможности
    yield, comprehensions, destructuring assignment
    https://developer.mozilla.org/en/New_in_JavaScript_1.7

    2) потоки, вроде

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру