#singlepass #compiler

无 std wasmer-compiler-singlepass

Wasmer WebAssembly 运行时的单遍编译器

69 个版本 (37 个稳定版本)

4.3.6 2024年8月22日
4.3.5 2024年7月16日
4.3.2 2024年6月11日
4.2.6 2024年3月4日
1.0.0-alpha52020年11月6日

#531 in WebAssembly

Download history • Rust 包仓库 6429/week @ 2024-05-03 • Rust 包仓库 7507/week @ 2024-05-10 • Rust 包仓库 6084/week @ 2024-05-17 • Rust 包仓库 5387/week @ 2024-05-24 • Rust 包仓库 6108/week @ 2024-05-31 • Rust 包仓库 4547/week @ 2024-06-07 • Rust 包仓库 5373/week @ 2024-06-14 • Rust 包仓库 5064/week @ 2024-06-21 • Rust 包仓库 4550/week @ 2024-06-28 • Rust 包仓库 4512/week @ 2024-07-05 • Rust 包仓库 5992/week @ 2024-07-12 • Rust 包仓库 4653/week @ 2024-07-19 • Rust 包仓库 5070/week @ 2024-07-26 • Rust 包仓库 6342/week @ 2024-08-02 • Rust 包仓库 5362/week @ 2024-08-09 • Rust 包仓库 3669/week @ 2024-08-16 • Rust 包仓库

每月 21,153 次下载
用于 71 个 Crates(17 个直接使用)

MIT 许可证

2MB
43K SLoC

wasmer-compiler-singlepass 构建状态 加入 Wasmer Slack MIT License crates.io

该包包含一个基于单遍线性编译器的编译器实现。

用法

use wasmer::{Store, EngineBuilder};
use wasmer_compiler_singlepass::Singlepass;

let compiler = Singlepass::new();
let mut store = Store::new(compiler);

注意:您可以在此处找到使用单遍编译器的完整示例

何时使用单遍

单遍旨在以线性时间生成编译代码,因此不会受到 JIT 恶意软件的攻击,并且提供了比 wasmer-compiler-craneliftwasmer-compiler-llvm 快得多得多,但运行速度略慢。

单遍不会受到 JIT 恶意软件的攻击,并提供非常可预测的编译速度,这使得它非常适合需要快速和一致编译时间的 区块链 和其他系统。

依赖关系

~14–26MB
~455K SLoC