亿元级IT行业生态链
一站式解决方案提供商

24小时免费咨询电话
010-52725243

新闻资讯

AJIA NEWS

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

来源:开源中国 发布日期:2018-02-02

V8是Google特别为了Chrome可以高速运行网页应用(WebApp)而开发的,采用C++编写的Google 发布的开源 JavaScript 引擎。由于V8是将抽象语法直接产生机器语言并加以执行,没有虚拟机,且因为不需要中间表示式,程序处理会更早开始了,这一优势为阿甲科技软件研发团队极大的提高了工作效率。

V8 JavaScript 引擎 6.5 发布了。添加不受信任代码模式,支持流式编译 WebAssembly 代码。

主要更新内容如下:

不受信任的代码模式

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

安全性一直是阿甲科技软件研发团队在为客户提供解决方案时的重要保障,V8的这一功能将为开发者在安全性能方面提供了更大的依靠!

流式编译 WebAssembly 代码

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

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

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

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

阿甲 科技  只要下载了单个函数的所有字节,就把函数传递给后台线程进行编译

速度

扩展 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 内置的快速路径

V8 API

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

免责声明:本文由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。

阿甲科技

欢迎访问阿甲科技集团官方网站!