展会信息港展会大全

在Firefox 58中,WebAssembly组件性能提升了10倍
来源:互联网   发布日期:2018-02-08   浏览:81次  

导读:英文原文:With Firefox Version 58, WebAssembly Gets 10X Faster Mozilla 在 Firefox 58中为 WebAssembly(WASM)组件推出了一套双层编译系统,号称解析和编译 WASM 代码的速度达到 30-60MB/s,足够在有线网络中实现实时编译。基准测试表明,新 ......

英文原文:With Firefox Version 58, WebAssembly Gets 10X Faster

Mozilla 在 Firefox 58中为 WebAssembly(WASM)组件推出了一套双层编译系统,号称解析和编译 WASM 代码的速度达到 30-60MB/s,足够在有线网络中实现实时编译。基准测试表明,新版的性能比旧版提高了 10 倍,比 Chrome 快 10 倍以上。

在 Mozilla Hacks 博客的一篇文章中,Lin Clark 列举了一些测出的性能数据:

在一部台式机上,我们编译 WebAssembly 代码的速度高达 30-60MB 每秒,比网络传输数据包的速度都快。

使用 Firefox Nightly 或 Beta 的用户可以在自己的设备上体验这一进步。即使在性能一般的移动设备上编译速度也有 8MB/s,快过绝大多数移动网络的平均下载带宽。

独立测试人员复现了类似的测试结果。 Reddit 用户a_potato_is_missing 用 Luke Wagner 的 tanks 编译速度测试做了对比,他使用一台安装了安卓系统的华为 P10 Lite 进行测试,结果显示,在 Firefox v57 中的编译速度为 1.7MB/s,换成 Firefox v58 就提升到了 11.8MB/s。 Windows 10 桌面平台的测试中,编译速度从 v57 上的 9MB/s提高到了 v58 上的 52.8MB/s。相比之下,Chrome 在 Android 设备上只跑了 1MB/s,桌面平台上只有 4.1MB/s,远远落后。

这次性能提升之前,人们已经发现 WebAssembly 组件的速度比 JavaScript 更快了。此前的报告中,Figma 的一篇案例分析显示,切换到 WebAssembly 可以带来 3 倍的加载速度;Hackernoon 公布的基准测试则表明,计算密集型图形程序的执行速度提升了 30%。

在一篇博文中,Lin Clark 详细介绍了编译器如何利用 Firefox 的并行架构将编译任务拆解为两个独立的线程。第一个线程直接启动,实时将网络传输来的代码编译成一个基础版本;第二个线程则在后台将这个基础版本进一步编译为优化好的版本。优化版本编译完成后就会替换掉基础版本,进一步提升代码运行效率。

这次改进意味着 WebAssembly 可以在网络传输代码的同时实时编译出结果。Yehuda Katz 指出了这一进步对 web 开发的意义:

JavaScript 代码需要花费时间解析编译,所以资源消耗远比相同大小的图像文件要多。

如今 WASM 可以做到实时解析和编译,其资源消耗就更接近图像文件,比 JavaScript 省力多了。

改变游戏规则啊!

赞助本站

人工智能实验室

相关热词:

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港