高效能WebAssembly Runtime開源專案Wasmer的開發團隊,在1月的時候正式發布1.0版本,半年不到,該團隊迅速地發布第2個主要更新版本,這個版本不只加入了新功能,同時也提升了穩定性、安全性和效能。

Wasmer 2.0新功能包括了SIMD(單指令流多資料流)和參照類型。SIMD讓一條指令可以同時對多筆資料流進行操作,加入SIMD支援,將能夠提高並行處理資料的效能,讓Wasmer更適用於多樣化的使用案例,像是機器學習、影像處理、3D物理運算和圖形應用等,開發者能夠在這些用例中,觀察到明顯的效能提升,而且官方還提到,SIMD減少電力使用的潛力不容低估。

Wasmer 2.0另一個亮點便是參照類型,參照類型能夠讓應用程式在主機環境,或是多個Wasm模組之間,共享特定類型的資訊,這個方便的功能,使得程式碼和主機的Wasm模組,能夠簡單地進行溝通,並且將會是之後介面類型(Interface Types)的關鍵功能。

開發者從Wasmer 1.0切換使用Wasmer 2.0,可以明顯的感覺到效能提升,Wasmer 2.0操作浮點數的時候,LLVM Runtime速度大概快了50%,函式呼叫也更快,在過程中會盡量避免與核心互動,而且因為採用新的後端架構,Cranelift執行速度提高約40%,反序列化的速度也大幅加速。官方提到,Wasmer的這些改進,使得Wasm程式和函式庫,已經能夠以接近原生的速度執行。

Wasmer 2.0所有公共API都沒有改變,但是內部API有稍微調整,非常少數的用戶才會受到影響,另外,Wasmer 1.0的序列化Wasm模組,無法用在Wasmer 2.0反序列化。

開發團隊表示會持續改進Wasmer,繼續奠基於參照類型之上的其他工作,並且增加對更多作業系統和硬體基礎設施的支援,開發團隊也計畫要在GitHub上,實行更加開放透明的流程,以發布Wasmer Runtime之後的版本。


熱門新聞

Advertisement