91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WASI原理與Wasmtime配置是怎樣的

發布時間:2021-11-22 17:57:33 來源:億速云 閱讀:335 作者:柒染 欄目:大數據

WASI原理與Wasmtime配置是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

WASM(Web Assembly)盡管是為了提高網頁中性能敏感模塊表現而提出的字節碼標準, 但是WASM卻不僅能用在瀏覽器(broswer)中, 也可以用在其他環境中. 在這些環境中, 我們則需要支持WASI(WebAssembly System Interface, WASM系統接口)的runtime來執行我們編譯運行的wasm模塊. 本文將介紹Mozilla下的一個組織CraneStation所開發的WASM運行時wasmtime, 該運行時對WASI支持比較高. 

什么是WASI1?


WASI是一個新的API體系, 由Wasmtime項目設計, 目的是為WASM設計一套引擎無關(engine-indepent), 面向非Web系統(non-Web system-oriented)的API標準. 目前, WASI核心API(WASI Core)在做覆蓋文件, 網絡等等模塊的API, 但這些實現都是剛剛開始實現, 離實用還是有很長路要走.

關于WASM runtime


在了解了WASI之后, 博主最后選定兩個WASM運行時進行探索:  WASMER 與 Wasmtime.


這兩款運行時都號稱開始支持了WASI標準, 但博主使用rust-wasi-tutorial對兩款運行時進行試驗后,


發現WASMER對于文件讀取還是有些問題, 而Wasmtime則是通過了規格測試(基于specs testsuite),


因此本文接下來著重于Wasmtime的配置介紹.

Wasmtime與rust環境配置


由于目前Wasmtime與WASMER均只支持Unix-like環境, 接下來樓主將演示如何在WSL(Ubuntu 18.04)下配置Wasmtime.


而在目前比較方便生成wasm的編程語言中, 博主選擇使用自帶wasi目標的[rust編程語言], 可以”零代價”配置wasm相關工具鏈.

配置rust

  1. 下載并安裝rustup: curl https://sh.rustup.rs -sSf | sh, 安裝時使用默認 stable-x86_64-unknown-linux-gnu工具鏈, 后面我們還會自行添加用于編譯wasm的nightly工具鏈.

  2. 為cargo配置ustc反代, 提高crates(rust庫)下載速度2

  3. 安裝rustfmt: rustup component add rustfmt --toolchain stable-x86_64-unknown-linux-gnu. Wasmtime的test腳本需要用到該組件.

  4. 安裝rust nightly工具鏈: rustup toolchain add nightly-x86_64-unknown-linux-gnu. 當前rust的WASI目標還在開發中, 尚未穩定.

  5. 安裝rust WASI目標: rustup target add wasm32-unknown-wasi.

配置Wasmtime

  1. 安裝cmake與clang: sudo apt install cmake clang, 用于編譯Wasmtime. Wasmtime目前尚未有正式發布版本, 故需要我們自行編譯.

  2. 拷貝Wasmtime源碼: git clone --recursive git@github.com:CraneStation/wasmtime.git ~/wasmtime.

  3. 切換到Wasm源碼目錄: cd ~/wasmtime

  4. 執行測試腳本: ./test-all.sh. 當腳本執行完畢并通過測試后, 說明wasmtime已經正常編譯并且能在當前WSL環境下正常工作, 可以使用生成的wasmtime可執行文件.

  5. 將生成的wasmtime拷貝到/usr/bin目錄中: cp ~/wasmtime/target/release/wasmtime /usr/bin , 以便在整個WSL環境中任意目錄執行wasmtime. wasmtime是個單文件(stand alone)運行時.

  6. 執行wasmtime --help命令, 確認wasmtime成功安裝.

看完上述內容,你們掌握 WASI原理與Wasmtime配置是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九台市| 郸城县| 屏南县| 东乡族自治县| 柞水县| 黄大仙区| 吉安市| 拉孜县| 中山市| 昌宁县| 榕江县| 兴文县| 克山县| 黔西| 宣威市| 抚远县| 外汇| 息烽县| 左权县| 治县。| 宁陕县| 商都县| 道孚县| 贵南县| 普洱| 青铜峡市| 开江县| 新平| 梁山县| 达日县| 乌恰县| 卓尼县| 景宁| 大埔区| 稻城县| 贡山| 蕉岭县| 林州市| 龙岩市| 额尔古纳市| 多伦县|