You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 3, 2025. It is now read-only.
-**Tiny** - Designed to be as small as possible without sacrificing too much performance or functionality.
16
16
-**Fast enough** - TinyWasm is reasonably fast, especially when compared to other interpreters. See [Performance](#performance) for more details.
17
17
-**Portable** - Runs on any platform llvm supports, including WebAssembly. Minimal external dependencies.
18
18
19
-
# Status
19
+
##Status
20
20
21
-
TinyWasm, starting from version `0.3.0`, passes all the WebAssembly 1.0 tests in the [WebAssembly Test Suite](https://github.com/WebAssembly/testsuite). The 2.0 tests are in progress. This is enough to run most WebAssembly programs, including TinyWasm itself compiled to WebAssembly (see [examples/wasm-rust.rs](./examples/wasm-rust.rs)).
21
+
TinyWasm, starting from version `0.3.0`, passes all the WebAssembly 1.0 tests in the [WebAssembly Test Suite](https://github.com/WebAssembly/testsuite). The 2.0 tests are in progress. This is enough to run most WebAssembly programs, including TinyWasm itself compiled to WebAssembly (see [examples/wasm-rust.rs](./examples/wasm-rust.rs)). Results of the testsuite can be found [here](https://github.com/explodingcamera/tinywasm/tree/main/crates/tinywasm/tests/generated).
22
22
23
23
Some APIs to interact with the runtime are not yet exposed, and the existing ones are subject to change, but the core functionality is mostly complete.
24
-
Results of the tests can be found [here](https://github.com/explodingcamera/tinywasm/tree/main/crates/tinywasm/tests/generated).
25
24
26
25
TinyWasm is not designed for performance, but rather for simplicity, size and portability. However, it is still reasonably fast, especially when compared to other interpreters. See [Performance](#performance) for more details.
27
26
@@ -32,24 +31,26 @@ TinyWasm is not designed for performance, but rather for simplicity, size and po
-[**Bulk Memory Operations**](https://github.com/WebAssembly/spec/blob/master/proposals/bulk-memory-operations/Overview.md) - **Fully implemented** (as of version `0.4.0`)
-[**Memory64**](https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md) - **_Partially implemented_** (only 32-bit addressing is supported at the moment, but larger memories can be created)
TinyWasm can be used through the `tinywasm-cli` CLI tool or as a library in your Rust project. Documentation can be found [here](https://docs.rs/tinywasm).
41
40
42
-
### CLI
41
+
### Library
43
42
44
43
```sh
45
-
$ cargo install tinywasm-cli
46
-
$ tinywasm-cli --help
44
+
$ cargo add tinywasm
47
45
```
48
46
49
-
### Library
47
+
### CLI
48
+
49
+
The CLI is mainly available for testing purposes, but can also be used to run WebAssembly programs.
50
50
51
51
```sh
52
-
$ cargo add tinywasm
52
+
$ cargo install tinywasm-cli
53
+
$ tinywasm-cli --help
53
54
```
54
55
55
56
## Feature Flags
@@ -60,6 +61,8 @@ $ cargo add tinywasm
60
61
Enables logging using the `log` crate. This is enabled by default.
61
62
-**`parser`**\
62
63
Enables the `tinywasm-parser` crate. This is enabled by default.
64
+
-**`archive`**\
65
+
Enables pre-parsing of archives. This is enabled by default.
63
66
-**`unsafe`**\
64
67
Uses `unsafe` code to improve performance, particularly in Memory access
65
68
@@ -70,7 +73,7 @@ Since `libm` is not as performant as the compiler's math intrinsics, it is recom
70
73
71
74
> Benchmarks are coming soon.
72
75
73
-
#📄 License
76
+
##License
74
77
75
78
Licensed under either of [Apache License, Version 2.0](./LICENSE-APACHE) or [MIT license](./LICENSE-MIT) at your option.
The `tinywasm-cli` crate contains the command line interface for the `tinywasm` project. See [`tinywasm`](https://crates.io/crates/tinywasm) for more information.
0 commit comments