vlambda博客
学习文章列表

Firefox JIT优化,浏览器性能提升10%

Mozilla 的 JavaScript 引擎团队 SpiderMonkey 完成了名为"Warp"的更新,此更新主要是针对 JIT(Just-In-Time) 编译器代码进行优化,最终显著提升了浏览器的响应速度和页面加载性能。

Warp 通过减少跟踪的内部类型信息的数量,针对更广泛的案例进行优化,以及利用去年的 BaselineInterpreter 工作中使用的相同 CacheIR 优化来提升性能。最后的结果是,Warp 拥有更简单的设计,并显著提升了响应速度和页面加载性能(团队表示在许多视觉指标测试中看到改进幅度达 5-15%)。

Speedometer 测试显示,启用 Warp 后,速度提升了大约 10%,JS 引擎的内存占用也有所降低。

▲ 左:没有启用 Warp 的 Firefox Beta;右:启用 Warp 的 Firefox Nightly

此外,SpiderMonkey 提供的测试结果显示,启用 Warp 后,Win64 GDocs 加载时间改进 20%,Android Reddit SpeedIndex 改进 10%,pdfpain 18%,tp6 JS 内存 8%,damp 8%。团队还提供了 Talos/Raptor 图:

- 20% on Win64 GDocs loadtime: https://mzl.la/3cp6dAs
- 13% on Android Reddit SpeedIndex: https://mzl.la/2RUWdp8
- 18% on pdfpaint: https://mzl.la/2HtXb9W
- 8% on tp6 JS memory: https://mzl.la/3j2VwGb
- 8% on damp (devtools perf): https://mzl.la/3kLbhSM

最新的 Firefox Nightly 已默认启用 Warp,如果没有启用可手动开启:

1. 升级至最新 Nightly 版本
2. 访问 about:config 并设置"javascript.options.warp"为 true
3. 重启浏览器

SpiderMonkey 表示启用 Warp 只是他们的第一步工作,在此基础上,明年将会带来更多的优化。


推荐阅读