rust(33)-Rust and WebAssembly(1)
具有高級人機工程學(xué)的低級控制
JavaScript Web應(yīng)用程序很難獲得和保持可靠的性能。JavaScript的動態(tài)類型系統(tǒng)和垃圾收集暫停不起作用。如果您不小心偏離了JIT的正確方向,那么看似很小的代碼更改可能會導(dǎo)致嚴(yán)重的性能倒退。
Rust為程序員提供了低水平的控制和可靠的性能。它沒有困擾JavaScript的不確定性垃圾收集暫停。程序員可以控制間接、單一和內(nèi)存布局。
小.wasm大小
代碼大小非常重要,因為.wasm必須通過網(wǎng)絡(luò)下載。Rust沒有運行時,因此支持較小的.wasm大小,因為它不像垃圾收集器那樣包含額外的膨脹。您只需為實際使用的函數(shù)(以代碼大小為單位)付費。
不要重寫所有內(nèi)容
現(xiàn)有的代碼庫不需要丟棄。您可以從將最敏感的JavaScript函數(shù)移植到生銹的地方開始,以獲得直接的好處。如果你想的話,你甚至可以到此為止。
與他人合作愉快
Rust和WebAssembly與現(xiàn)有的JavaScript工具集成。它支持ECMAScript模塊,您可以繼續(xù)使用您已經(jīng)喜歡的工具,如npm、Webpack和Greenkeeper。
你期待的便利設(shè)施
銹有現(xiàn)代的設(shè)施,開發(fā)商已經(jīng)開始期待,如:
強大的貨物包裝管理,
表達(dá)性(和零成本)抽象,
一個熱情的社區(qū)
WebAssembly (wasm)是一種簡單的機器模型和可執(zhí)行格式,具有廣泛的規(guī)范。它被設(shè)計成便攜、緊湊、以或接近本機速度執(zhí)行。
作為一種編程語言,WebAssembly由兩種表示相同結(jié)構(gòu)的格式組成,只是方式不同:
wat文本格式(在“WebAssembly text”中稱為wat)使用s -表達(dá)式,與Scheme和Clojure等Lisp家族語言有一些相似之處。
.wasm二進制格式是較低級的,打算直接由wasm虛擬機使用。它在概念上類似于ELF和Mach-O
總結(jié)
以上是生活随笔為你收集整理的rust(33)-Rust and WebAssembly(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rust(31)-枚举体
- 下一篇: mysql 定期备份策略,MySQL--