You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wasm3/README.md

62 lines
3.8 KiB
Markdown

5 years ago
<img align="right" width="30%" src="/extra/screenshot-android.png">
5 years ago
5 years ago
# <img src="/extra/wasm-symbol.svg" width="32" height="32" /> Wasm3
5 years ago
5 years ago
5 years ago
[![WAPM](https://img.shields.io/badge/wapm-v0.4.2-654ff0?style=flat-square&logo=WebAssembly)](https://wapm.io/package/vshymanskyy/wasm3)
5 years ago
[![GitHub issues](https://img.shields.io/github/issues-raw/wasm3/wasm3?style=flat-square&label=issues&color=success)](https://github.com/wasm3/wasm3/issues)
5 years ago
[![Tests status](https://img.shields.io/github/workflow/status/wasm3/wasm3/tests/master?style=flat-square&logo=github&label=tests)](https://github.com/wasm3/wasm3/actions)
5 years ago
[![GitHub license](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](https://github.com/wasm3/wasm3)
5 years ago
5 years ago
5 years ago
A high performance WebAssembly interpreter written in C.
5 years ago
** 15.8x faster** than other wasm interpreters (`wac`, `life`, `wasm-micro-runtime`)
** 4..5x slower** than state of the art wasm `JIT` engines (`liftoff`, `cranelift`)
** 11.5x slower** than native execution
5 years ago
<sub>* Based on [**CoreMark 1.0** benchmark](/test/benchmark/coremark/README.md). Your mileage may vary.</sub>
5 years ago
5 years ago
## Getting Started
Here's an online demo and a small [getting started](https://wapm.io/package/vshymanskyy/wasm3) guide:
[![LIVE DEMO](extra/button.png)](https://webassembly.sh/?run-command=wapm%20install%20vshymanskyy/wasm3)
5 years ago
5 years ago
## Status
5 years ago
5 years ago
`wasm3` passes the [WebAssembly spec testsuite](https://github.com/WebAssembly/spec/tree/master/test/core) and is able to run many `WASI` apps.
5 years ago
5 years ago
Minimum useful system requirements: **~64Kb** for code and **~10Kb** RAM
5 years ago
`wasm3` runs on a wide range of [platforms](/platforms):
5 years ago
- <img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/linux.svg" width="18" height="18" /> Linux,
<img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/windows.svg" width="18" height="18" /> Windows,
5 years ago
<img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/apple.svg" width="18" height="18" /> OS X
5 years ago
- <img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/android.svg" width="18" height="18" /> Android,
<img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/apple.svg" width="18" height="18" /> iOS
5 years ago
- <img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/raspberrypi.svg" width="18" height="18" /> Raspberry Pi, Orange Pi and other **SBC**s
5 years ago
- <img src="https://cdn.rawgit.com/feathericons/feather/master/icons/cpu.svg" width="18" height="18" /> **MCU**s:
5 years ago
Arduino MKR*, Arduino Due, Particle Photon,
5 years ago
ESP8266, ESP32, Air602 (W600), nRF52, nRF51,
Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K), ATmega1284 etc.
5 years ago
- <img src="https://cdn.rawgit.com/feathericons/feather/master/icons/wifi.svg" width="18" height="18" /> **OpenWRT**-enabled routers
5 years ago
- <img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/mozillafirefox.svg" width="18" height="18" /> <img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/googlechrome.svg" width="18" height="18" /> <img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/safari.svg" width="18" height="18" /> <img src="https://cdn.rawgit.com/simple-icons/simple-icons/develop/icons/microsoftedge.svg" width="18" height="18" /> Browsers... yes, using WebAssembly itself!
5 years ago
- <img src="extra/wasm-symbol.svg" width="18" height="18" /> `wasm3` can execute `wasm3` (self-hosting)
5 years ago
5 years ago
`wasm3` is built on top of [Steven Massey](https://github.com/soundandform)'s novel [interpreter topology](/source/README.md), with:
5 years ago
- Wasm 1.0 spec conformance
- `WASI` support
- Support of `x86`, `x64`, `ARM`, `MIPS`, `RISC-V`, `Xtensa` architectures
5 years ago
## Building
See [DEV.md](./DEV.md)
5 years ago
5 years ago
## Testing & Fuzzing
5 years ago
See [test/README.md](./test/README.md)
5 years ago
### License
This project is released under The MIT License (MIT)