由Google開發的開源JavaScript引擎V8,其最新的分支版本8.4,其中一個更新重點,在於改進WebAssembly的功能,不只加快程式啟動速度,也改善除錯功能,而且還支援了WebAssembly SIMD提案。V8 8.4現在進入Beta測試階段,在數周後將會用於Chrome 84穩定版中。

Google提到,由於V8的WebAssembly基準編譯器Liftoff,現在支援原子指令(Atomic Instructions)和大量記憶體操作(Bulk Memory Operations)功能,因此大幅改進了WebAssembly程式啟動的速度。 而Google也改善了WebAssembly的除錯功能,現在V8能夠在使用者暫停執行,或是到達中斷點時,立即查看WebAssembly程式區塊的狀態。

而這個功能是使用Liftoff實作的,Google解釋,過去所有中斷點和逐步執行的程式碼,都需要在WebAssembly直譯器中執行,而這大幅降低約100倍的執行速度,但使用Liftoff,就僅會損失三分之一的效能,但可讓開發者逐步執行所有程式碼,並且隨時進行查看。

另外,V8 8.4開始支援WebAssembly SIMD提案,該提案讓WebAssembly能夠使用常見的硬體向量指令,以加速運算密集的工作負載,目前要在Chrome中啟用這項功能,需要將chrome://flags/#enable-webassembly-simd旗標設為啟用,或是加入Origin Trial計畫。Origin Trial計畫讓開發人員可以在功能標準化之前先進行測試,加入該計畫的開發者可以在功能測試期間,直接使用該功能,而不用更改Chrome旗標。


Advertisement

更多 iThome相關內容