WebAssembly 執行速度比 JavaScript 快?小心打臉

類別: IT
WebAssembly

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 ,你怎麼看?歡迎評論探討。

WebAssembly 執行速度比 JavaScript 快?小心打臉原文請看這裡