diff options
| author | Henry Gressmann <mail@henrygressmann.de> | 2024-05-15 13:38:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-15 13:38:13 +0200 |
| commit | d9cdd0b53c870bf7d9d69b854b8da2692d152871 (patch) | |
| tree | 0ba0bf6a38ce391495ef42e4f22954aafe3fbbc1 /README.md | |
| parent | e771c6df456f6c6655a7850defffdbb5cc574461 (diff) | |
feat: v0.7.0 (#13)
* Remove all unsafe code
* Refactor interpreter loop
* Optimize Call-frames
* Remove unnecessary reference counter data from store
---------
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -3,7 +3,7 @@ <a href=""><img align="left" src="./tinywasm.png" width="100px"></a> </div> <h1>TinyWasm</h1> - A tiny WebAssembly Runtime written in Rust + A tiny WebAssembly Runtime written in safe Rust </div> <br> @@ -12,9 +12,9 @@ ## Why TinyWasm? -- **Tiny**: TinyWasm is designed to be as small as possible without significantly compromising performance or functionality (< 6000 lines of code). -- **Portable**: TinyWasm runs on any platform that Rust can target, including other WebAssembly Runtimes, with minimal external dependencies. -- **Lightweight**: TinyWasm is easy to integrate and has a low call overhead, making it suitable for scripting and embedding. +- **Tiny**: TinyWasm is designed to be as small as possible without significantly compromising performance or functionality (< 4000 LLOC). +- **Portable**: TinyWasm runs on any platform that Rust can target, including `no_std`, with minimal external dependencies. +- **Safe**: No unsafe code is used in the runtime (`rkyv` which uses unsafe code can be used for serialization, but it is optional). ## Status @@ -65,8 +65,6 @@ $ tinywasm-cli --help Enables the `tinywasm-parser` crate. This is enabled by default. - **`archive`**\ Enables pre-parsing of archives. This is enabled by default. -- **`unsafe`**\ - Uses `unsafe` code to improve performance, particularly in Memory access. With all these features disabled, TinyWasm only depends on `core`, `alloc` ,and `libm` and can be used in `no_std` environments. Since `libm` is not as performant as the compiler's math intrinsics, it is recommended to use the `std` feature if possible (at least [for now](https://github.com/rust-lang/rfcs/issues/2505)), especially on wasm32 targets. |
