V8 JavaScript 引擎 7.2 Beta 版发布,支持公共 class 字段

局长
 局长
发布于 2018年12月20日
收藏 2

V8 JavaScript 引擎 7.2 已发布,开发团队表示目前尚处于 Beta 版阶段,正式版将会于几周后和 Chrome 72 Stable 一起推出。

V8 v7.2 提供了很多面向开发者的新特性,下面我们不妨简单看一下。

内存

现在,在 ia32 架构中默认支持并启用嵌入式内置函数(Embedded builtins)。

性能

JavaScript 解析

平均而言,网页花费了 V8 启动时所用时间的 9.5% 来解析 JavaScript。因此,7.2 版本专注为 V8 提供最快的 JavaScript 解析器,全面提高解析速度。从 7.0 开始,桌面上的解析速度提高了大约 30%。下图显示了过去几个月 Facebook 加载基准测试的显着改进。

Facebook.com 上的 V8 解析时间(越低越好)

开发团队在不同场合都对解析器进行了优化,下图显示了几个热门网站上相对于最新 7.2 版本的改进。

总而言之,最近的改进将平均解析时间百分比从 9.5% 降低到 7.5%,从而加快了加载时间并提高了响应速度。

async/await

V8 v7.2 带来了更快的 async/await 实现,并在默认情况下启用。同时,开发团队制定了一个规范提案,目前正在收集 Web 兼容性数据,以便将更改正式合并到 ECMAScript 规范中。

WebAssembly

开发团第表示,在分析了许多 WebAssembly 基准测试后,最后选择通过它们来指导顶级执行层中的代码生成。特别是,V8 v7.2 在优化编译器的调度程序和后端循环旋转(loop rotation)中启用了节点拆分(node splitting)。此外,还改进了封装器缓存并引入了自定义封装器,以减少调用导入的 JavaScript 数学函数的开销。最后,开发团队设计了对寄存器分配器的更改,以改善许多代码模式的性能,这些代码模式将在更高版本中出现。

JavaScript 语言特性

V8 7.2 新增对公共 class 字段(public class fields) 的支持,例如下面的旧写法:

class Animal {
  constructor(name) {
    this.name = name;
  }
}
class Cat extends Animal {
  constructor(name) {
    super(name);
    this.likesBaths = false;
  }
  meow() {
    console.log('Meow!');
  }
}

现在可以这样写:

class Animal {
  constructor(name) {
    this.name = name;
  }
}
class Cat extends Animal {
  likesBaths = false;
  meow() {
    console.log('Meow!');
  }
}

计划在未来的 V8 版本中支持私有类字段(private class fields)。

详细更新内容请查看发布公告:https://v8.dev/blog/v8-release-72

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

精彩评论

左华栋
左华栋

引用来自“开源中国首席装逼王”的评论

何时 集成 新的 gc 系统
新的GC?有说明吗?
https://juejin.im/entry/5b1fa706e51d4506a14dd041 不是这个?
左华栋
左华栋
V8 引擎每个版本都有性能提升。
看来 明年node.js 12 又有大的提升了。
宇天
宇天
给力

最新评论(7

闪小达-开源中国
闪小达-开源中国
厉害啊 越来越快了
开源中国首席装逼王

引用来自“开源中国首席装逼王”的评论

何时 集成 新的 gc 系统

引用来自“左华栋”的评论

新的GC?有说明吗?
https://juejin.im/entry/5b1fa706e51d4506a14dd041 不是这个?
竟然已经有了 我看youtube 视频 的时候 还说测试中的
左华栋
左华栋

引用来自“开源中国首席装逼王”的评论

何时 集成 新的 gc 系统
新的GC?有说明吗?
https://juejin.im/entry/5b1fa706e51d4506a14dd041 不是这个?
开源中国首席装逼王
何时 集成 新的 gc 系统
宇天
宇天
给力
左华栋
左华栋
V8 引擎每个版本都有性能提升。
看来 明年node.js 12 又有大的提升了。
ChengShuai
ChengShuai
Meow~哈哈~~
返回顶部
顶部