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

3.5 KiB

Wasm3

WAPM GitHub issues GitHub license Tests status

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.

LIVE DEMO 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 execute wasm3 (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)