设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

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

2018-12-20 13:11| 发布者: joejoe0332| 查看: 322| 评论: 0|原作者: oschina|来自: oschina

摘要: V8 JavaScript 引擎 7.2 已发布,开发团队表示目前尚处于 Beta 版阶段,正式版将会于几周后和Chrome 72 Stable 一起推出。V8 v7.2 提供了很多面向开发者的新特性,下面我们不妨简单看一下。内存现在,在 ia32 架构中 ...

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


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部