【问题标题】:What are the differences between Firefox's Javascript engine and Chrome's V8?Firefox 的 Javascript 引擎和 Chrome 的 V8 有什么区别?
【发布时间】:2012-04-01 07:02:18
【问题描述】:

我在一些文章中发现FF的Javascript引擎部分采用了Chrome的V8特性,甚至一些源代码来自V8! 如果是这样,我能说用 Chrome 的 V8 替换 Firefox 中的 Javascript 引擎简直是轻而易举吗? 如果不是,有什么区别?

【问题讨论】:

    标签: firefox google-chrome v8 javascript-engine


    【解决方案1】:

    据我所知,Firefox 使用的唯一 V8 源代码是被分解到单独的库中的东西(例如一些数字转换代码)。

    不采用 V8 批发的原因是它有一些 SpiderMonkey(Firefox 中的 JS 引擎)没有的 bug,缺少 SpiderMonkey 的一些功能,Firefox 无法为 JS 引入新功能直到 V8 的人们开始使用它。

    【讨论】:

    • 但是FF源代码的js/src文件夹中有一个名为V8的文件夹,所以我猜FF肯定是从chrome那里借了一些代码,这就是我困惑的地方。你能告诉我你说“Firefox 无法为 JS 引入新功能,直到 V8 人员开始使用它”是什么意思?3x。
    • @SpryMickael 这是 V8 基准测试(是的,Google 为多个无关的事物重用了相同的名称),您只需查看文件夹即可知道。至于我的意思……如果 Firefox 只是使用 V8,那么在 V8 接受之前,它无法引入新功能。当然,除非他们分叉,否则情况似乎更糟。
    【解决方案2】:

    Chrome 引擎更快(谷歌声称)。

    语法是一样的。

    没关系:我还没有看到问题描述。 为什么他们不会用 V8 替换整个 Javascript 引擎? 因为那是谷歌,他们不想在他们的代码中包含超过 1% 的谷歌代码。他们想要“独立”。

    【讨论】:

    • 其实语法不一样。 SpiderMonkey 支持 V8 不支持的各种功能(如 let)。
    • 如果你足够努力,你可以。但是很可能编写只在其中一个或另一个中工作的 JS,因为它们没有实现相同的一组功能。
    • 你的意思是如果我放弃FF的这些功能,我可以用chrome的V8替换FF的SpiderMonkey?
    • 流行JavaScript引擎性能跟踪Are we Fast Yet?
    猜你喜欢
    • 2012-02-12
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    相关资源
    最近更新 更多