This is an (experimental) high performance WebAssembly interpreter written in C.
∼ 10x faster than other wasm interpreters (wasm-micro-runtime
, wac
, life
)
∼ 5-6x slower than state of the art wasm JIT
engines, like liftoff
∼ 10-15х slower than native execution
* Your mileage may vary
WebAssembly Core Specification conformance: 94%
Minimum useful system requirements: ~64Kb for code and ~10Kb RAM
wasm3
currently runs on a wide range of platforms:
Linux,
Windows,
OS X
Android
Raspberry Pi, Orange Pi and other SBCs
MCUs:
Arduino MKR*, Arduino Due, Particle Photon,
ESP8266, ESP32, Air602 (W600), nRF52, nRF51,
Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K), etc.OpenWRT-enabled routers
Browsers... yes, using WebAssembly itself!
TODO:
run onwasm3
(should be self-hosting)
wasm3
is built on top of Steven Massey's novel interpreter topology, with:
- Aim at Wasm 1.0 spec conformance
- WASI support
- Portability
See DEV.md
This project is released under The MIT License (MIT)