#singlepass #compiler

no-std wasmer-compiler-singlepass-x

Wasmer WebAssembly运行时的单遍编译器

1 个稳定版本

2.4.1 2024年4月26日

WebAssembly 中排名 1098

Download history 91/week @ 2024-04-21 45/week @ 2024-04-28 104/week @ 2024-05-05 190/week @ 2024-05-12 210/week @ 2024-05-19 206/week @ 2024-05-26 137/week @ 2024-06-02 82/week @ 2024-06-09 71/week @ 2024-06-16 43/week @ 2024-06-23 33/week @ 2024-06-30 16/week @ 2024-07-07 61/week @ 2024-07-14 36/week @ 2024-07-21 48/week @ 2024-07-28

每月下载量 162
用于 unc-vm-runner

MIT 许可证

1MB
20K SLoC

wasmer-compiler-singlepass Build Status Join Wasmer Slack MIT License crates.io

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

使用方法

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

let compiler = Singlepass::new();
// Put it into an engine and add it to the store
let store = Store::new(&Universal::new(compiler).engine());

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

何时使用Singlepass

Singlepass旨在以线性时间生成编译代码,因此不易受到JIT炸弹的影响,并提供比wasmer-compiler-craneliftwasmer-compiler-llvm快几个数量级的编译性能,但运行速度略慢。

由于Singlepass不易受到JIT炸弹的影响,并提供非常可预测的编译速度,因此它非常适合对快速且一致的编译时间非常关键的区块链和其他系统。

依赖关系

~9–18MB
~252K SLoC