V8 JavaScript 引擎 6.5 发布 :编译速度显著提升

栏目: 软件资讯 · 发布时间: 8年前

内容简介:V8 JavaScript 引擎 6.5 发布了。添加不受信任代码模式,支持流式编译 WebAssembly 代码。详情可以查看这里。 主要更新内容如下: 不受信任的代码模式 为了应对最新的 Spectre 的攻击,V8 引入了一个不可信的代码...

V8 JavaScript 引擎 6.5 发布了。添加不受信任代码模式,支持流式编译 WebAssembly 代码。详情可以查看这里

主要更新内容如下:

不受信任的代码模式

为了应对最新的 Spectre 的攻击,V8 引入了一个不可信的代码模式。 如果您嵌入 V8,考虑利用这种模式,防止应用程序处理用户生成的,不可信的代码。该模式默认情况下处于启用状态,包括在 Chrome 中。

流式编译 WebAssembly 代码

WebAssembly API 提供了一个特殊的功能来支持流式编译和 fetch()API 的结合:

const module = await WebAssembly.compileStreaming(fetch('foo.wasm'));

使用 V8 v6.5 和 Chrome 65,我们已经在下载模块字节的同时,利用这个 API 并编译了 WebAssembly 模块。 只要我们下载了单个函数的所有字节,我们就把函数传递给后台线程进行编译。

使用此 API,Chrome 65 中的 WebAssembly 编译可以在高端机器上保持高达 50 Mbit / sec 的下载速度。 这意味着如果您以 50 Mbit / sec 的速度下载 WebAssembly 代码,只要下载完成,编译该代码就会结束。

V8 JavaScript 引擎 6.5 发布 :编译速度显著提升

速度

扩展 JavaScript 内置的快速路径,增加一种机制来检测和防止称为“去最佳化循环”的破坏性情况。同时,还通过内联许多内建函数来扩展快速路径,这些内建函数由于调用函数的负载和调用本身(例如函数调用)之间的副作用而被排除在外。 而 String.prototype.index 在函数调用中性能提高了10倍。

在V8 v6.4中,我们内嵌了对Array.prototype.forEach,Array.prototype.map和Array.prototype.filter的支持。 在V8 v6.5中,我们添加了内联支持:

  • Array.prototype.reduce

  • Array.prototype.reduceRight

  • Array.prototype.find

  • Array.prototype.findIndex

  • Array.prototype.some

  • Array.prototype.every

 V8 JavaScript 引擎 6.5 发布 :编译速度显著提升

V8 API

请使用 git log branch-heads/6.4..branch-heads/6.5 include/v8.h 来获取 API 变更列表。


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上所述就是小编给大家介绍的《V8 JavaScript 引擎 6.5 发布 :编译速度显著提升》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

风吹江南之互联网金融

风吹江南之互联网金融

陈宇(江南愤青) / 东方出版社 / 2014-6-1 / 55元

随着中国互联网金融浪潮高涨,P2P、众筹、余额宝、微信支付等新生事物层出不穷,加之大数据等时髦概念助阵,简直是乱花渐欲迷人眼,令媒体兴奋,公众狂热。那么,互联网金融真的能“颠覆”传统金融吗?当互联网思维对撞传统金融观念,是互联网金融的一统天下,还是传统金融业的自我革新?究竟是谁动了金融业的奶酪? 本书作者早期试水创立具有互联网金融雏形的网站,后来成为互联网金融的资深投资人,基于其多年在该领域......一起来看看 《风吹江南之互联网金融》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码