WebAssembly 一直被视为解决 Web 性能低下的救星,各大主流浏览器也纷纷选择拥抱 WebAssembly 。尤其是 Firefox ,在对 WebAssembly 的优化上下了许多功夫,像是引入分层编译和 IndexedDB 缓存。 那 WebAssembly 目前实际使用起来的效率情况如何?PSPDFKit 近日创建并开源了一个 WebAssembly 测试基准,旨在透过测试了解渲染情况,来提高网页版 PSPDFKit 的执行性能。该测试关注的是应用的实际执行的情况,测试得分越低代表越好。 PSPDFKit 在 macOS 与 Windows 系统上分别对 Chrome、Firefox、Safari 和 Edge 浏览器进行测试。结果发现,Firefox 在两个操作系统上执行 WebAssembly 的效率最高,且大幅优于 Javascript Fallback 。但其他浏览器则不尽如人意,Chrome 67 与 Chrome 69 金丝雀(Canary)版本表现存在差异,Chrome 69 比 Chrome 67 在执行 WebAssembly 上有所提升。Safari 和 Edge 在各自的主场上的表现都很糟糕。 PSPDFKit 在得到测试完毕后跟这些浏览器厂商进行了联系,并得到了相应回复。Chrome 表示他们将在 Chrome 69 引入新的 baseline WebAssembly 编译器,并在下一个 canary 版本发布后,默认启用该编译器。此外还将推出用于缓存已编译的 WebAssembly 模块的替代方案,以便无需在每次浏览器刷新时重新编译。Safari 被认为是存在一个 bug 严重影响 WebAssembly 的表现,苹果已将问题列入待修复列表。Edge 则表示正在努力使 WebAssembly 更容易使用和扩展,微软未来将把更多目前无法在 asm.js 中实现的功能带到 WebAssembly 。 对于 WebAssembly ,你怎么看?欢迎评论探讨。 |