WebAssembly 系列(第一部分) - 用卡通形式介紹 WebAssembly
ofollow,noindex">原文連結
你可能聽到過 WebAssembly 的執行速度很快,那麼它是如何做到的呢?
在這個 WebAssembly 系列中,我將會向你介紹 WebAssembly 的執行速度為什麼會如此之快?
等等,那麼WebAssembly是什麼呢?
WebAssembly 是一種除了 JavaScript 之外的程式語言編寫的,並且是執行在瀏覽器中的程式碼。因此人在說到 WebAssembly 執行速度快的時候,是相比較於 JavaScript 而言的。
目前我不想暗示說這是一種非此即彼的情況 - 要麼使用 WebAssembly,要麼使用 JavaScript。實際上,我們期望在同一個程式中同時使用兩種語言。但是比較它們兩種語言是有用的,你可以理解 WebAssembly 潛在的影響。
一個簡短的關於效能的歷史
JavaScript 是在 1995 年創造的,它不是為了快而設計的,第一個十年,它的執行速度並不快。
然後瀏覽器變得更有競爭力。
在 2008 年,各種瀏覽器效能競爭激烈。多種瀏覽器添加了即時編譯器,也被稱為 JITS。當 JavaScript 執行的時候,JIT 會根據模式,然後讓程式碼基於模式執行的更快。這些 JIT 的引入是 JavaScript 效能的一個轉折點,JS 的執行速度快了 10 倍。

這種效能的改進,JavaScript 也被用於之前想不到的領域 - 用 NodeJS 在服務端渲染。JavaScript 效能的提升也讓一個全新的領域使用成為可能。
現在使用 WebAssembly,我們可能處於另一個拐點。

因此,讓我們深入細節,看下到底是什麼讓 WebAssembly 執行的如此之快。