Каковы различия между движком Javascript Firefox и Chrome V8?

В некоторых статьях я нашел, что движок Javascript FF частично использует функцию Chrome V8, или даже некоторые исходные коды взяты из V8! Если да, могу ли я сказать, что заменить движок Javascript в Firefox на Chrome V8 очень просто? Если нет, то какая разница?


person Spry Mickael    schedule 01.04.2012    source источник


Ответы (2)


Насколько мне известно, единственный исходный код V8, который использует Firefox, — это вещи, которые были выделены в отдельные библиотеки (например, некоторый код числового преобразования).

Причины отказа от массового внедрения V8 заключаются в том, что в нем есть определенные ошибки, которых нет у SpiderMonkey (движок JS в Firefox), отсутствуют некоторые функции, которые есть у SpiderMonkey, и Firefox не сможет вводить новые функции для JS до V8. люди добрались до этого.

person Boris Zbarsky    schedule 02.04.2012
comment
Но в папке js/src исходного кода FF есть папка с именем V8, поэтому я предполагаю, что FF, должно быть, позаимствовал какой-то код из chrome, и именно здесь я запутался. и можете ли вы сказать мне, что вы имеете в виду, говоря Firefox не сможет представить новые функции для JS, пока разработчики V8 не доберутся до этого? 3x. - person Spry Mickael; 05.04.2012
comment
@SpryMickael Это тест V8 (да, Google повторно использует одно и то же имя для нескольких несколько несвязанных вещей), как вы можете сказать, просто заглянув в папку. Что касается того, что я имею в виду... если бы Firefox просто использовал V8, он не смог бы вводить новые функции, пока они не будут приняты в V8. Если, конечно, они его не разветвили, что кажется еще хуже. - person Boris Zbarsky; 05.04.2012

Движок Chrome быстрее (как утверждает Google).

Синтаксис тот же.

Неважно: я не видел описания вопроса. Почему они не заменят весь движок Javascript на V8? Потому что это Google, и они не хотят иметь более 1% кода Google в своем коде. Они хотят быть «независимыми».

person djmati11    schedule 01.04.2012
comment
На самом деле синтаксис не тот. SpiderMonkey поддерживает различные функции (например, let), которые не поддерживает V8. - person Boris Zbarsky; 02.04.2012
comment
Вы можете, если постараетесь. Но вполне возможно написать JS, который работает только в одном или другом, потому что они не реализуют одинаковый набор функций. - person Boris Zbarsky; 04.04.2012
comment
Вы имеете в виду, что я могу заменить SpiderMonkey из FF на V8 в Chrome, если я отказался от этих функций в FF? - person Spry Mickael; 05.04.2012
comment
Отслеживание производительности популярных движков JavaScript Уже быстро? - person Ihab Shoully; 04.07.2014