这系列主要是我对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…
最后感谢女友的支持和包容,笔芯❤️