1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

科技 hrome beta迎来V8引擎后台并行编译改进 JavaScript代码更流畅

本帖由 漂亮的石头2014-02-14 发布。版面名称:新闻聚焦

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    488,439
    赞:
    48
    热门评论

    匿名人士 | 2014-02-14 09:14:48

    V8 多大排量?油耗多少?有没有涡轮增压?是不是混动...

    支持:0 | 反对:0

    匿名人士 | 2014-02-14 09:16:02

    什么意思,能通俗点吗

    支持:0 | 反对:0


    Google今日披露了其在Chrome beta中作出的一项调整,以进一步提升“并行编译”性能。为此,它还卸下了很大一部分的后台线程。此前,Chrome是在主线程中编译JavaScript的,但这样会影响JavaScript应用程序的性能。而最终,Google在保持应用程序响应的同时,还提升了JavaScript的性能。当然,这一切都是通过V8(Chrome的JavaScript引擎)搞定的。

    [​IMG]

    下面概述下它是如何工作的:

    首先,V8会推迟编译JavaScript函数,直到它被首次执行前再立即开动(为了减少编译所耗费的总体时间);

    然后,代码片段会通过专门的优化编译器“编译一次”(conpiled a second time);

    尽管第二步会增加时间,但得益于更先进的技术优化,代码的速度依然更快了。

    [​IMG]

    上图:是未启用并行编译的Chrome(V8完全忙于优化一大块代码片段,结果留下了一段执行“真空”)。

    [​IMG]

    上图:启用了并行编译后的Chrome(V8依然忙于优化大块代码片段,但通过后台线程执行)。

    以上结果来自Nexus 5上运行的Mandreel——Google的Octane基准测试工具集——呈现了V8的具体表现。黑条代表JavaScript执行,而Google的目标是“越实越好”。

    当前的浏览器会轮流编译优化的JavaScript代码并执行,但是很容易造成“口吃”(消化不良/执行真空)的囧况。而启用了后台并行编译的V8引擎,有望攻克编译大块代码片时的性能浪费,并为复杂的应用程序(如游戏)带来更加流畅且“不掉帧”的体验。

    预计这种改进将于未来数月内抵达Chrome浏览器的稳定版本。

    [编译自:TNW , 来源:Chromium Blog]
     
正在加载...