JavaScript 引擎 V8 发布 8.6 版本

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

内容简介:JavaScript 引擎 V8 发布了 8.6 版本(测试阶段),正式版本将在之后随 Chrome 86 一起推出。8.6 版本带来了一些面向开发人员的特性,主要亮点包括: JavaScript 开源 JS-Fuzzer JS-Fuzzer 一直是 V8 稳定性和安全...

JavaScript 引擎 V8 发布了 8.6 版本(测试阶段),正式版本将在之后随 Chrome 86 一起推出。8.6 版本带来了一些面向开发人员的特性,主要亮点包括:

JavaScript

开源 JS-Fuzzer

JS-Fuzzer 一直是 V8 稳定性和安全性的基石,现在它开源了。

最近 V8 团队开始以差异测试模式运行 fuzzer 实例,以检测 JavaScript 的正确性问题。

Number.prototype.toString 中的加速

在一般情况下,将 JavaScript 数字转换为字符串可能会非常复杂,必须考虑浮点精度、科学计数法、NaN、无穷大、舍入等。在计算之前,甚至不知道结果字符串的大小。因此,V8 对 Number.prototype.toString 的实现将提供给 C++ 运行时函数。

但很多时候,你可能只想打印一个简单的小整数(“Smi”)。这是一个简单得多的操作,不再需要调用 C++ 运行时函数的开销。因此,V8 团队为使用 Torque 编写的 Number.prototype.toString 添加了一个小整数的简单快速路径,以减少这种常见情况的开销。

Atomics.wake 已删除

将 Atomics.wake 重命名为 Atomics.notify 以匹配 v7.3 中的规格更改。现在,已弃用的 Atomics.wake 别名已删除。

此外,还有一些小的规范变化。

WebAssembly

在 Liftoff 中实现 SIMD

Liftoff 是 WebAssembly 的基准编译器,从 V8 v8.5 开始,所有平台上均已提供。SIMD 提案使 WebAssembly 可以利用常用的硬件矢量指令来加速计算密集型工作负载。它目前处于实验阶段。

SIMD 仅在 V8 的顶级编译器 TurboFan 中实现。现在,Liftoff 中也实现了 SIMD,你将可以在 Liftoff 中调试 SIMD 代码,其性能要比 WebAssembly 解释器好得多。

使用 Liftoff 标量实现作为基准,会看到以下结果:

JavaScript 引擎 V8 发布 8.6 版本

Liftoff SIMD 的速度比 Liftoff 标量快 2.8 倍,而 TurboFan SIMD 的速度要快 7.5 倍。

Wasm 到 JS 的调用速度更快

如果 WebAssembly 调用导入的 JavaScript 函数,则通过所谓的 “Wasm-to-JS wrapper”(或 “import wrapper”)进行调用。此包装器将参数转换为 JavaScript 可以理解的对象,并在返回 JavaScript 调用时,将返回值转换回 WebAssembly。

为了确保 JavaScript 参数对象准确反映从 WebAssembly 传递来的参数,如果检测到参数数量不匹配,则通过所谓的 “arguments adapter trampoline” 进行调用。

但是在很多情况下,这不是必需的,因为被调用的函数不使用 arguments 对象。v8.6 版本获得了一个修复程序,该程序避免了在这种情况下通过参数适配器进行的调用,这使得受影响的调用明显更快。

发布公告


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

信号与噪声

信号与噪声

[美] 纳特•西尔弗 / 胡晓姣、张新、朱辰辰 / 中信出版社 / 2013-8 / 69.00元

【编辑推荐】 从海量的大数据中筛选出真正的信号, “黑天鹅”事件也可提前预知! “本书将成为未来十年内最重要的书籍之一。”——《纽约时报》 “对于每一个关心下一刻可能会发生什么的人来说,这都是本必读书。”——理查德•泰勒 《华尔街日报》2012年度10本最佳非虚构类图书之一 《经济学人》杂志2012年度书籍 亚马逊网站2012年度10本最佳非虚构类图书之一......一起来看看 《信号与噪声》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器