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

Download history 405/week @ 2024-05-03 101/week @ 2024-05-10 451/week @ 2024-05-17 102/week @ 2024-05-24 41/week @ 2024-05-31 45/week @ 2024-06-07 125/week @ 2024-06-14 166/week @ 2024-06-21 42/week @ 2024-06-28 185/week @ 2024-07-05 31/week @ 2024-07-12 189/week @ 2024-07-19 838/week @ 2024-07-26 92/week @ 2024-08-02 170/week @ 2024-08-09 222/week @ 2024-08-16

每月下载量 1,336

Apache-2.0 WITH LLVM-exception

10MB
168K SLoC

wasmtime

一个独立的 WebAssembly 运行时

Bytecode Alliance 项目

build status zulip chat supported rustc stable Documentation Status

指南 | 贡献 | 网站 | 聊天

安装

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,还是在具有许多并发实例的大规模服务器上运行,我们都能满足您的需求。

  • WASI。Wasmtime 通过 WASI 标准 支持丰富的 API,以与宿主环境进行交互。

  • 符合标准。Wasmtime 通过了 官方 WebAssembly 测试套件,实现了 官方 wasm C API,并实现了针对 WebAssembly 的未来提案。Wasmtime 开发人员也一直积极参与 WebAssembly 标准化进程。

语言支持

您可以通过实现嵌入使用 Wasmtime 支持的多种不同语言。

字节码联盟支持的语言

社区支持的语言

文档

📚 在这里阅读 Wasmtime 指南!📚

wasmtime 指南》是了解 Wasmtime 可以为您做什么或帮助回答您关于 Wasmtime 的问题的绝佳起点。如果您想为 Wasmtime 做贡献,它也能帮助您做到这一点


它是 Wasmtime。

依赖项

~14–37MB
~693K SLoC