Google:Chrome 91浏览器性能提高了23%

发文表示,通过新的 V8 JavaScript Sparkplug 和 short builtins 机制,近日更新的 获得了 23% 的性能提升。

首先,在 浏览器中,V8 引擎负责 JavaScript 执行。其具有多个编译器,可以在执行 JavaScript 的各个阶段做出不同的取舍。三年前,Google 推出了一个两层编译器系统,由 Ignition 和 Turbofan 组成。Ignition 是一个字节码解释器,其工作是以尽可能少的延迟开始执行 JavaScript;Turbofan 是优化编译器,它根据在 JavaScript 执行过程中收集的信息生成高性能的机器代码, 因此其启动速度比 Ignition 要慢 。

而新的 Sparkplug 编译器在 Ignition 和 Turbofan 之间取得了平衡,它会生成本地机器代码,但不依赖于执行 JavaScript 代码时收集的信息。这让它在快速开始执行的同时,仍能生成相对快速的代码。

此外,通过 short builtins 机制,V8 引擎优化了生成的代码在内存中的位置。当 V8 从 JavaScript 生成特定的 CPU 代码时,它会在内存中铺设这些代码。这段生成的代码会经常调用内置函数。对于某些 CPU 来说,调用离生成的代码较远的函数会导致 CPU 内部优化(如分支预测逻辑)失败。因此 short builtins 机制会将内置函数复制到与生成代码相同的内存区域。这一变化对新的苹果 M1 芯片的影响尤其大。

最后,据 Chrome 产品经理 Thomas Nattestad 表示,通过 Sparkplug 编译器和 short builtins 机制,Chrome 91 性能提升了 23%,每天可节省超过 17 年的 CPU 时间。

?