104 个版本 (64 个稳定版)
新版本 24.0.0 | 2024 年 8 月 20 日 |
---|---|
23.0.2 | 2024 年 8 月 12 日 |
23.0.1 | 2024 年 7 月 22 日 |
22.0.0 | 2024 年 6 月 20 日 |
0.15.0 | 2020 年 3 月 31 日 |
在 WebAssembly 中排名 394
每月下载量 1,336
10MB
168K SLoC
安装
Wasmtime CLI 可以使用一个小型安装脚本在 Linux 和 macOS(本地)上安装
curl https://wasmtime.dev/install.sh -sSf | bash
Windows 或其他感兴趣的用户可以直接从 GitHub 发布页面 下载安装程序和二进制文件。
示例
如果您已安装 Rust 编译器,则可以取一些 Rust 源代码
fn main() {
println!("Hello, world!");
}
并使用以下命令进行编译/运行
$ rustup target add wasm32-wasip1
$ rustc hello.rs --target wasm32-wasip1
$ wasmtime hello.wasm
Hello, world!
(注意:请确保您使用官方说明中上述的 rustup
方法安装 Rust,并且不要以其他方式(例如系统软件包管理器)在您的系统上安装 Rust 工具链的副本。否则,rustup target add...
命令可能不会为正确的 Rust 版本安装目标。)
功能
-
快速。Wasmtime 基于优化的 Cranelift 代码生成器,在运行时或预编译时快速生成高质量的机器代码。Wasmtime 优化了高效的实例化、嵌入器和 wasm 之间的低开销调用以及并发实例的可扩展性。
-
安全。Wasmtime 的开发非常注重正确性和安全性。基于 Rust 运行时的安全性保证,Wasmtime 的每个功能都会经过仔细的审查和考虑,通过 RFC 流程。一旦功能被设计和实现,它们将接受由 Google 的 OSS Fuzz 提供的 24/7 模糊测试。随着功能的稳定,它们将成为 发布版 的一部分,当出现问题时,我们有一套明确的 安全策略 来快速缓解和修复任何问题。我们遵循深度防御的最佳实践,并集成了针对 Spectre 等问题的保护和缓解措施。最后,我们通过与学术研究人员合作,正式验证 Wasmtime 和 Cranelift 的关键部分,努力推动技术前沿。
-
可配置。Wasmtime 使用合理的默认值,但也可以配置以提供对 CPU 和内存消耗等内容的更细致的控制。无论您是想在小型环境中运行 Wasmtime,还是在具有许多并发实例的大规模服务器上运行,我们都能满足您的需求。
-
符合标准。Wasmtime 通过了 官方 WebAssembly 测试套件,实现了 官方 wasm C API,并实现了针对 WebAssembly 的未来提案。Wasmtime 开发人员也一直积极参与 WebAssembly 标准化进程。
语言支持
您可以通过实现嵌入使用 Wasmtime 支持的多种不同语言。
字节码联盟支持的语言
- Rust -
wasmtime
包 - C -
wasm.h
、wasi.h
和wasmtime.h
头文件、CMake 或wasmtime
Conan 包 - C++ -
wasmtime-cpp
仓库 或使用wasmtime-cpp
Conan 包 - Python -
wasmtime
PyPI 包 - .NET -
Wasmtime
NuGet 包 - Go -
wasmtime-go
仓库 - Ruby -
wasmtime
钥匙
社区支持的语言
文档
《wasmtime 指南》是了解 Wasmtime 可以为您做什么或帮助回答您关于 Wasmtime 的问题的绝佳起点。如果您想为 Wasmtime 做贡献,它也能帮助您做到这一点!
它是 Wasmtime。
依赖项
~14–37MB
~693K SLoC