wasmtime - WebAssembly 的快速且安全的运行时

Created at: 2017-08-29 22:01:55
开发语言: Rust
授权协议: Apache-2.0

wasmtime

用于 Web 装配的独立运行时

字节码联盟项目

构建状态 祖利普聊天 支持锈稳定 文档状态

指南 | | 网站 | 聊天做出贡献

安装

世界时间 CLI 可以通过一个小的安装脚本在 Linux 和 macOS 上安装:

curl https://wasmtime.dev/install.sh -sSf | bash

Windows 或其他感兴趣的用户可以直接从 GitHub 版本页面下载安装程序和二进制文件。

如果你已经安装了Rust编译器,那么你可以采取一些Rust源代码:

fn main() {
    println!("Hello, world!");
}

并编译/运行它:

$ rustup target add wasm32-wasi
$ rustc hello.rs --target wasm32-wasi
$ wasmtime hello.wasm
Hello, world!

特征

  • 。Wasmtime 建立在优化的克瑞电梯代码生成器之上,可在运行时或提前快速生成高质量的机器代码。Wasmtime 针对高效实例化、嵌入器和 wasm 之间的低开销调用以及并发实例的可扩展性进行了优化。

  • 安全。Wasmtime的发展非常注重正确性和安全性。在 Rust 的运行时安全保证之上,每个 Wasmtime 功能都经过仔细审查,并通过 RFC 过程进行考虑。一旦功能被设计和实现,它们就会经历由谷歌的OSS模糊贡献的24/7模糊测试。随着功能的稳定,它们将成为发布的一部分,当出现问题时,我们有一个明确定义的安全策略来快速缓解和修补任何问题。我们遵循纵深防御的最佳实践,并针对 Spectre 等问题集成了保护和缓解措施。最后,我们正在努力通过与学术研究人员合作,正式验证Wasmtime和Cranelift的关键部分,来推动最先进的技术。

  • 可配置。Wasmtime 使用合理的默认值,但也可以配置为对 CPU 和内存消耗等内容提供更精细的控制。无论你是想在狭小的环境中运行 Wasmtime,还是在具有许多并发实例的大型服务器上运行,我们都能满足你的需求。

  • 瓦西。Wasmtime 支持一组丰富的 API,用于通过 WASI 标准与主机环境进行交互。

  • 符合标准。Wasmtime 通过了官方的 WebAssembly 测试套件,实现了 wasm 的官方 C API,并实现了对 WebAssembly 的未来建议。一路走来,Wasmtime 的开发人员也一直密切参与 WebAssembly 标准流程。

语言支持

你可以通过嵌入实现来使用各种不同语言的 Wasmtime:

文档

📚在这里阅读瓦斯姆时间指南!📚

Wasmtime 指南是了解 Wasmtime 可以为你做些什么或帮助回答你有关 Wasmtime 的问题的最佳起点。如果你对为Wasmtime做出贡献感到好奇,它也可以帮助你做到这一点


这是沃斯时间。