#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 6429/week @ 2024-05-03 7507/week @ 2024-05-10 6084/week @ 2024-05-17 5387/week @ 2024-05-24 6108/week @ 2024-05-31 4547/week @ 2024-06-07 5373/week @ 2024-06-14 5064/week @ 2024-06-21 4550/week @ 2024-06-28 4512/week @ 2024-07-05 5992/week @ 2024-07-12 4653/week @ 2024-07-19 5070/week @ 2024-07-26 6342/week @ 2024-08-02 5362/week @ 2024-08-09 3669/week @ 2024-08-16

每月 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