#singlepass #wasm-runtime #compiler

no-std linera-wasmer-compiler-singlepass

Singlepass compiler for Wasmer WebAssembly runtime

7 releases

new 4.4.0-linera.7 Mar 26, 2025
4.4.0-linera.6 Nov 1, 2024
4.4.0-linera.5 Oct 8, 2024
4.3.6-linera.4 Sep 24, 2024
4.3.1-linera.2 Jun 7, 2024

#143 in WebAssembly

Download history 1771/week @ 2024-12-04 758/week @ 2024-12-11 403/week @ 2024-12-18 139/week @ 2024-12-25 259/week @ 2025-01-01 443/week @ 2025-01-08 577/week @ 2025-01-15 428/week @ 2025-01-22 527/week @ 2025-01-29 843/week @ 2025-02-05 1038/week @ 2025-02-12 559/week @ 2025-02-19 366/week @ 2025-02-26 633/week @ 2025-03-05 609/week @ 2025-03-12 870/week @ 2025-03-19

2,596 downloads per month
Used in 11 crates (2 directly)

MIT license

1.5MB
42K SLoC

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

This crate contains a compiler implementation based on the Singlepass linear compiler.

Usage

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

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

Note: you can find a full working example using Singlepass compiler here.

When to use Singlepass

Singlepass is designed to emit compiled code at linear time, as such is not prone to JIT bombs and also offers great compilation performance orders of magnitude faster than wasmer-compiler-cranelift and wasmer-compiler-llvm, however with a bit slower runtime speed.

The fact that singlepass is not prone to JIT bombs and offers a very predictable compilation speed makes it ideal for blockchains and other systems where fast and consistent compilation times are very critical.

Dependencies

~8–18MB
~256K SLoC