這系列主要是我對WASM研究的筆記,可能內容比較簡略。總共包括:git
總結了一下部分WASM的發展方向(Post-MVP時代):github
整體進度列表: Post MVP Featuresweb
Proposalsdocker
多線成在瀏覽器的Web Worker基礎上實現,經過共享內存來通訊。具體有:瀏覽器
主要目的是:markdown
Optimizing calls to Web APIsoop
能夠直接調用Web API而不須要JS 膠水代碼,By: Web IDLatom
Enabling "shared-nothing" linking of WebAssembly modulesspa
動態連接通常須要多個模塊實例共享一樣的memory和table等,這種方式是很脆弱的。
Defining language-neutral interfaces like WASI
對不一樣語言的高級類型進行封裝,如JS的string和object,更好的配合GC
單指令多數據流,指的是讓CPU在單條語句時間內並行對多個數據進行一樣的操做。SIMD可以極大的提升應用程序的計算速度
歷史上曾經存在過simd.js不過因爲實現困難而被廢棄。WASM的工做基於其之上。具體有:
0x7b
目前SIMD接近可用,Rust已經有相應的包可用: packed_simd
//TODO...
WASI是WASM在瀏覽器以外的領域延伸。出於Web的安全性,可移植性的有點,一個實現了WASM標準的Runtime能夠作到比docker更輕量,高效和安全。
If WASM+WASI existed in 2008, we wouldn't have needed to created Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let's hope WASI is up to the task! —— Solomon Hykes, Maintainer of Docker from twitter
擴展閱讀: hacks.mozilla.org/2019/03/sta…
最後感謝女友的支持和包容,筆芯❤️