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.
Steven Massey
2b2df0c410
|
5 years ago | |
---|---|---|
.github/workflows | 5 years ago | |
extra | 5 years ago | |
platforms | 5 years ago | |
source | 5 years ago | |
test | 5 years ago | |
.gitignore | 5 years ago | |
CMakeLists.txt | 5 years ago | |
DEV.md | 5 years ago | |
LICENSE | 5 years ago | |
README.md | 5 years ago |
README.md
Wasm3
This is an (experimental) 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.
Status
WebAssembly Core Specification conformance: 98%
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
Building
See DEV.md
License
This project is released under The MIT License (MIT)