Wasmtime:开源的轻量级 WebAssembly 运行时
Wasmtime 是由 字节码联盟 打造的,用于 WebAssembly、WASI 以及组件模型的独立运行环境。
WebAssembly(简称为 Wasm)是一种二进制指令格式,旨在成为编程语言可移植的编译目标。Wasm 二进制文件的扩展名一般是 “.wasm”。在这份文档里,我们也会用到二进制文件的文本形式,其扩展名是 “.wat”。
WASI(即 WebAssembly 系统接口)定义了一系列接口,借助这些接口,能以安全且可移植的方式,访问类似文件系统、网络、时钟和随机数等操作系统功能。
[组件模型] 属于一种 WebAssembly 架构,为可移植的跨语言组合提供了二进制格式。具体来讲,它支持通过接口让组件之间实现相互通信。WASI 就是依据组件模型接口来界定的。
Wasmtime 能够在 [Web 环境之外] 运行 WebAssembly 代码,既可以当作命令行工具使用,也能作为库嵌入到更大的应用程序中。它具备以下特点:
- 速度快:Wasmtime 基于经过优化的 Cranelift 代码生成器构建。
- 安全性高:Wasmtime 在开发过程中极为注重正确性与安全性。
- 可灵活配置:Wasmtime 有合理的默认设置,但也能进行配置,从而对 CPU 和内存消耗等方面实现更细致的把控。
- 符合标准:Wasmtime 通过了官方的 WebAssembly 测试套件,而且 Wasmtime 的开发者深度参与了 WebAssembly 标准的制定工作。
https://github.com/bytecodealliance/wasmtime
https://wasmtime.dev/