forked from Mirrors/wasm3
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.
3.5 KiB
3.5 KiB
![](/extra/screenshot.png)
Wasm3
A high performance WebAssembly interpreter written in C.
∼ 13.5x faster than other wasm interpreters (wac
, life
, wasm-micro-runtime
)
∼ 5..6x slower than state of the art wasm JIT
engines (liftoff
, cranelift
)
∼ 12.5x slower than native execution
* Based on CoreMark 1.0 benchmark. Your mileage may vary.
Howto use online demo.
Status
wasm3
passes the WebAssembly spec testsuite and is able to run many WASI
apps.
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!
wasm3
can executewasm3
(self-hosting)
wasm3
is built on top of Steven Massey's novel interpreter topology, with:
- Wasm 1.0 spec conformance
WASI
support- Support of
x86
,x64
,ARM
,MIPS
,RISC-V
,Xtensa
architectures
Building
See DEV.md
Testing & Fuzzing
See test/README.md
License
This project is released under The MIT License (MIT)