V8 官方博客回顾了
除了性能改进之外,V8 团队还为 JavaScript 和 WebAssembly 添加了许多新功能。比如通过 WasmGC 将支持垃圾回收的编程语言用于 Web 开发(Chrome 支持运行 Kotlin、Java 等 GC 编程语言)。
此外还改进了沙箱基础设施,并为 V8 引入了控制流完整性 (CFI),为用户提供了更安全的环境。
V8 2023 重磅新特性回顾
- 新的中间层编译器 Maglev:Maglev 是 V8 引擎的新中间层编译器,它的推出使得代码的优化速度大大提高。相比于现有的编译器,Maglev 的编译速度快了 10 到 100 倍,并且在 JetStream 和 Speedometer 等性能测试中取得了 8.2% 和 6% 的性能提升。
- 新的顶层优化编译器架构 Turboshaft:V8 引擎还引入了 Turboshaft,这是一个用于顶层优化编译器的新内部架构。使用 Turboshaft 后,编译速度提高了一倍,这有助于节约能源并为未来的性能提升奠定基础。
- 更快的 HTML 解析器:V8 团队对 HTML 解析器进行了优化,这导致 Speedometer 测试分数提高了 3.4%。这些变化也被 WebKit 项目采纳,从而对 Chrome 浏览器的性能产生了积极影响。
- 更快的 DOM 分配:V8 团队还对 DOM 对象的内存分配策略进行了优化,这使得 DOM 对象的分配速度提高了 3 倍,并在 DOM 密集型测试中取得了显著的改进。
- 新的 JavaScript 特性:V8 引擎还推出了一系列新的 JavaScript 特性,包括可调整大小的 ArrayBuffers、ArrayBuffer 传输、String isWellFormed 和 toWellFormed 等。
- WebAssembly 更新:V8 引擎为 WebAssembly 引入了多个新特性和性能优化,包括对多内存的支持、尾调用、放松的 SIMD 等。
- WebAssembly 垃圾回收:V8 引擎最终实现了 WebAssembly 垃圾回收(WasmGC),这使得可以将使用 Java、Kotlin、Dart 等垃圾回收语言编写的应用程序编译为 WebAssembly,从而提高了其运行速度。
- 安全增强:V8 引擎还在安全方面进行了改进,包括改进了沙箱基础设施、引入了控制流完整性(CFI)等。