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

WebAssembly 大型应用启动时间长,用户体验不佳,相比之下 JS 应用启动更快。V8 最新 6.9 版本引入基线编译器 Liftoff,可减少 WebAssembly 应用启动时间,能更快生成代码。测试显示其编译速度更快,目前仅用于桌面,后续有改善启动、移植到移动设备等计划。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 函数的字节码一次性生成机器代码。

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

Liftoff 代码生成示例:

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

执行速度

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

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

  • 将 Liftoff 移植到移动设备

  • 改进代码生成性能

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值