在Firefox58中,WebAssembly元件效能提升了10倍
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省力多了。改變遊戲規則啊!
相關文章:
原文釋出時間:2018年02月07日
作者:Kevin Ball
本文來源:InfoQ 如需轉載請聯絡原作者
相關文章
- 百萬商品查詢,效能提升了10倍
- Nacos 2.0 正式釋出,效能提升了 10 倍!!
- 修改一行SQL程式碼 效能提升了100倍SQL
- GPU效能提高了30%,AI能力整整提升了三倍。GPUAI
- WebAssembly元件提案Web元件
- 建立和使用 WebAssembly 元件Web元件
- [譯]在JavaScript中建立WebAssembly模組例項JavaScriptWeb
- 在Windows10搭建WebAssembly開發環境WindowsWeb開發環境
- WebAssembly 系列(六)WebAssembly 的現在與未來Web
- 用 100 行程式碼提升 10 倍的效能行程
- 用100行程式碼提升10倍的效能行程
- Nacos 2.0 正式釋出,效能提升 10 倍!!
- Web 應用效能提升 10 倍的 10 個建議Web
- Java 中的5個程式碼效能提升技巧,最高提升近10倍Java
- 如何用WebAssembly為Web應用提速20倍(案例研究)Web
- [譯] 用 WebAssembly 提速 Web App 20 倍(例項學習)WebAPP
- Jeff Dean出品:用機器學習索引替代B-Trees,3倍效能提升,10-100倍機器學習索引
- 亞馬遜雲科技在中國區域推出Amazon Lambda SnapStart,啟動效能提升10倍亞馬遜
- 【譯】Go和WebAssembly:在瀏覽器中執行Go程式GoWeb瀏覽器
- 如何把 MySQL 備份驗證效能提升 10 倍MySql
- [譯] 提高 10 倍效能:優化靜態網站優化網站
- 在Oracle10g中診斷效能問題Oracle
- Alibaba資深專家都“歎為觀止”的這份效能調優,讓MySQL效能提升了數百倍,我已獻上膝蓋MySql
- 提效新紀元-元件化開發在轉轉App中的應用-後端篇元件化APP後端
- 寫入效能:TDengine 最高達到 InfluxDB 的 10.3 倍,TimeScaleDB 的 6.74 倍UX
- 震精-PostgreSQL10.0preview效能增強-WARM提升一倍效能SQLView
- 重磅官宣:Nacos2.0 釋出,效能提升 10 倍
- 阿里云云效助力企業10倍研發效能提升阿里
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- AI+軟體工程:10倍提效!用ChatGPT編寫系統功能文件AI軟體工程ChatGPT
- 我對請求做了個效能小最佳化,提升了50%的頁面效能
- Web程式效能優化——asm.js和WebAssemblyWeb優化ASMJS
- CheerpX:使用 WebAssembly 在瀏覽器中執行任何程式語言Web瀏覽器
- GTest(基於YApi)介面研發效能提升10倍 實戰API
- 讓你的 webpack sass 和 css 處理效能 10 倍提升WebCSS
- Blazor WebAssembly 修仙之途 - 元件與資料繫結BlazorWeb元件
- DeepMind丟掉了歸一化,讓影像識別訓練速度提升了8.7倍 | 已開源
- daedalOS:基於WebAssembly在瀏覽器中實現桌面作業系統Web瀏覽器作業系統