提速 10%,V8 引擎推出全新 Liftoff 基线编译器

栏目: 服务器 · 编程工具 · 发布时间: 7年前

内容简介:WebAssembly 自发布以来,采用率有在稳步提高。针对 WebAssembly 的大型应用也已经开始出现,Epic 的为改变这一状况,V8 在最新发布的6.9 版本中引入了

WebAssembly 自发布以来,采用率有在稳步提高。针对 WebAssembly 的大型应用也已经开始出现,Epic 的 ZenGarden benchmark 包含 39.5 MB 的 WebAssembly 二进制文件, AutoDesk 也有 36.8 MB。这些应用需要相当长的时间才能启动,在多数机器上甚至超过30秒,用户体验不够良好。在类似的情况下,JS 应用的启动速度比 WebAssembly 应用快,原因是 WebAssembly 承诺提供可预测的性能,一旦应用运行,它可以始终如一地满足你的性能需求。

为改变这一状况,V8 在最新发布的6.9 版本中引入了 Liftoff 。这是一个基线编译器(baseline compiler),旨在通过尽可能快地生成代码来减少基于 WebAssembly 的应用的启动时间。Liftoff 避免了构造 IR 的时间和内存开销,并通过 WebAssembly 函数的字节码一次性生成机器代码。

提速 10%,V8 引擎推出全新 Liftoff 基线编译器

从上图也可以看出,Liftoff 能够比原来的 TurboFan 更快地生成代码,因为流程只包含两个阶段。

Liftoff 代码生成示例:

提速 10%,V8 引擎推出全新 Liftoff 基线编译器

V8 团队对 Liftoff 编译器的性能从编译速度和执行速度进行了测试。结果发现,不管是在普通的 MacBook 上,还是更高端的 Z840 工作站上,Liftoff 都可以更快地编译代码。

提速 10%,V8 引擎推出全新 Liftoff 基线编译器

提速 10%,V8 引擎推出全新 Liftoff 基线编译器

执行速度

提速 10%,V8 引擎推出全新 Liftoff 基线编译器

提速 10%,V8 引擎推出全新 Liftoff 基线编译器

截至目前,Liftoff 仅可在桌面使用。开发团队也给出了后续的计划:

  • 改善启动时间并减少内存使用

  • 将 Liftoff 移植到移动设备

  • 改进代码生成性能

  • 为移动设备实现动态分层

了解更多详情可 查阅 V8 官博


以上所述就是小编给大家介绍的《提速 10%,V8 引擎推出全新 Liftoff 基线编译器》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

函数响应式领域建模

函数响应式领域建模

【美】Debasish Ghosh / 李源 / 电子工业出版社 / 2018-1 / 79

传统的分布式应用不会切入微服务、快速数据及传感器网络的响应式世界。为了捕获这些应用的动态联系及依赖,我们需要使用另外一种方式来进行领域建模。由纯函数构成的领域模型是以一种更加自然的方式来反映一个响应式系统内的处理流程,同时它也直接映射到了相应的技术和模式,比如Akka、CQRS 以及事件溯源。《函数响应式领域建模》讲述了响应式系统中建立领域模型所需要的通用且可重用的技巧——首先介绍了函数式编程和响......一起来看看 《函数响应式领域建模》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试