Crates.io | wasmi_cli |
lib.rs | wasmi_cli |
version | 0.39.1 |
source | src |
created_at | 2023-01-04 16:39:15.630189 |
updated_at | 2024-11-06 09:21:16.402225 |
description | WebAssembly interpreter |
homepage | |
repository | https://github.com/wasmi-labs/wasmi |
max_upload_size | |
id | 750952 |
size | 66,279 |
Continuous Integration | Test Coverage | Documentation | Crates.io |
---|---|---|---|
Wasmi is an efficient and lightweight WebAssembly interpreter with a focus on constrained and embedded systems.
Version 0.31.0
has been audited by SRLabs.
The following list states some of the distinct features of Wasmi.
Refer to the Wasmi usage guide to learn how properly to use Wasmi.
The new Wasmi engine supports a variety of WebAssembly proposals and will support even more of them in the future.
WebAssembly Proposal | Status | Comment |
---|---|---|
mutable-global |
✅ | ≥ 0.14.0 . |
saturating-float-to-int |
✅ | ≥ 0.14.0 . |
sign-extension |
✅ | ≥ 0.14.0 . |
multi-value |
✅ | ≥ 0.14.0 . |
bulk-memory |
✅ | ≥ 0.24.0 . (#628) |
reference-types |
✅ | ≥ 0.24.0 . (#635) |
tail-calls |
✅ | ≥ 0.28.0 . (#683) |
extended-const |
✅ | ≥ 0.29.0 . (#707) |
multi-memory |
✅ | ≥ 0.37.0 . (#1191) |
simd |
❌ | Unlikely to be supported. |
relaxed-simd |
❌ | Unlikely to be supported. Depends on simd . |
function-references |
📅 | Not yet implemented. (#774) |
gc |
📅 | Not yet implemented. (#775) |
threads |
📅 | Not yet implemented. (#777) |
exception-handling |
📅 | Not yet implemented. (#1037) |
custom-page-sizes |
📅 | Not yet implemented. (#1197) |
WASI | 👨🔬 | Experimental support for WASI (wasip1 ) via the wasmi_wasi crate. |
C-API | 👨🔬 | Experimental support for the official Wasm C-API via the wasmi_c_api_impl crate. |
Clone the Wasmi repository and build using cargo
:
git clone https://github.com/wasmi-labs/wasmi.git --recursive
cd wasmi
cargo build
cargo test
In order to benchmark Wasmi use the following command:
cargo bench
Use translate
, instantiate
, execute
or overhead
filters to only run benchmarks that test performance of Wasm translation, instantiation, execution or miscellaneous overhead respectively, e.g. cargo bench execute
.
Wasmi supports a wide variety of architectures and platforms.
no_std
embedded environments, thus not requiring the standard library (std
).Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.