Javascript 引擎 V8 7.7 版本发布

afterer
 afterer
发布于 2019年08月15日
收藏 7

JavaScript 引擎 V8 发布了 7.7 版本,目前处于测试阶段,正式版将于几个星期后随 Chrome 77 Stable 一起发布。

更新内容如下:

延迟反馈分配

为了优化 JavaScript,V8 收集关于传递给各种操作数(例如 + 或 o.foo)的操作数类型的反馈,这种反馈用于优化这些操作,使它们适合这些特定类型。

为了减少 V8 的内存使用量,现在只在函数执行了一定数量的字节码之后才分配反馈向量。这避免了为没有从已收集反馈中受益的短期函数分配反馈向量。实验表明,延迟分配反馈向量可以节省约 2-8% 的 V8 堆大小。

对于 Chrome 用户来说,V8 的堆大小在桌面版上减少了 1-2%,在移动平台上减少了 5-6%。桌面版性能没有倒退,在移动平台上,看到了在内存有限的低端手机上性能是有提高的。

可伸缩的 WebAssembly 后台编译

下面的图表是根据一台 24 核 Xeon 机器得出的,它编译了 Epic Zen Garden 。根据使用的线程数,与 V8 的 7.4 版本相比,编译所需时间不到一半。

Stack trace 改进

几乎所有由 V8 引发的错误在创建时都会捕获跟踪栈信息。可以通过非标准的 error.stack 属性从 JavaScript 访问此栈跟踪。第一次通过 error.stack 检索栈跟踪时,V8 将底层结构化栈跟踪序列化为字符串。这个序列化的栈跟踪被保存起来,以加快将来的 error.stack 访问。

此版本中对栈跟踪逻辑进行了一些内部重构(跟踪错误),简化了代码并将栈跟踪序列化性能提高了 30%。

JavaScript 语言特性

提供特定区域设置的数字格式 Intl.NumberFormat API,在这个版本中获得了新的功能,它现在支持紧凑符号,科学符号,工程符号,符号显示和测量单位。

const formatter = new Intl.NumberFormat('en', {
  style: 'unit',
  unit: 'meter-per-second',
});
formatter.format(299792458);
// → '299,792,458 m/s'

详情见发布说明:

https://v8.dev/blog/v8-release-77

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Javascript 引擎 V8 7.7 版本发布
加载中

精彩评论

左华栋
左华栋
别问,问就是有性能提升
左华栋
左华栋
没事编译那玩意干嘛。
quickjs 性能测试差太多了,嵌入式领域合适。
llgoer
llgoer
我觉得quickjs不错,v8编译起来如同噩梦
开源中国首席罗纳尔多
开源中国首席罗纳尔多
您好,请问nodejs是在v8基础上自己写一些本地接口的api吗?
左华栋
左华栋
主要是 libuv + v8 ,在此基础上提供了访问本机的一些API

最新评论(12

adoal
adoal
什么时候V8发布V8:bowtie:
开源中国首席罗纳尔多
开源中国首席罗纳尔多
您好,请问nodejs是在v8基础上自己写一些本地接口的api吗?
左华栋
左华栋
主要是 libuv + v8 ,在此基础上提供了访问本机的一些API
开源中国123456789
开源中国123456789
别问,问就是有性能提升
llgoer
llgoer
我觉得quickjs不错,v8编译起来如同噩梦
左华栋
左华栋
没事编译那玩意干嘛。
quickjs 性能测试差太多了,嵌入式领域合适。
左华栋
左华栋
别问,问就是有性能提升
半世为仙
半世为仙
不敢问。
这波天秀
这波天秀
你可拉倒吧,谁会问js那一坨,每个js新闻下面人气都低的可怜
左华栋
左华栋
嗯 github 仓库数量第一。。。
这波天秀
这波天秀
1M的程序,1G的依赖,仓库数能不多嘛,况且94%都是重复的
左华栋
左华栋
觉得恶心,有本事别用浏览器啊~
返回顶部
顶部