Update performance results

extensions
Volodymyr Shymanskyy 5 years ago
parent 7c36b778ef
commit efaeab206e

@ -9,9 +9,9 @@
A high performance WebAssembly interpreter written in C. A high performance WebAssembly interpreter written in C.
** 9.1x faster** than other known wasm interpreters ** 8x faster** than other known wasm interpreters
** 4-5x slower** than state of the art wasm `JIT` engines ** 4-5x slower** than state of the art wasm `JIT` engines
** 12.6x slower** than native execution ** 12x slower** than native execution
<sub>* Based on [**CoreMark 1.0** benchmark](./docs/Performance.md). Your mileage may vary.</sub> <sub>* Based on [**CoreMark 1.0** benchmark](./docs/Performance.md). Your mileage may vary.</sub>

@ -3,20 +3,22 @@
## CoreMark 1.0 results ## CoreMark 1.0 results
```log ```log
Node v13.0.1 (interpreter) 28 51.0x # Intel i5-8250U x64 (1.6-3.4GHz)
wac (wax) 105 13.6x
wasm-micro-runtime 157 9.1x ▲ slower Node v13.0.1 (interpreter) 28.544923 57.0x
wasm3 1428 1.0 wac (wax) 101.864113 16.0x
Wasmer 0.11.0 singlepass 4285 3.0x ▼ faster wasm-micro-runtime 215.269805 7.6x ▲ slower
wasmtime 0.7.0 (--optimize) 4615 3.2x wasm3 1627.869119 1.0
Webassembly.sh (Chromium 78) 6111 4.3x Wasmer 0.13.1 singlepass 4065.591544 2.5x ▼ faster
Webassembly.sh (Firefox 70) 6470 4.5x wasmtime 0.8.0 (--optimize) 6453.505427 4.0x
Wasmer 0.11.0 cranelift 6875 4.8x Wasmer 0.13.1 cranelift 6467.164442 4.0x
wasmer-js (Node v13.0.1) 9090 6.3x Webassembly.sh (Chromium 78) 6914.325225 4.2x
Wasmer 0.11.0 llvm 10526 7.4x Webassembly.sh (Firefox 70) 7251.153593 4.5x
WAVM 15384 10.8x wasmer-js (Node v13.0.1) 10043.827611 6.2x
Native (GCC 7.4.0, 32-bit) 17976 12.6x Wasmer 0.13.1 llvm 12450.199203 7.6x
Native (GCC 7.4.0, 64-bit) 19104 13.4x WAVM 14946.566026 9.2x
Native (GCC 7.4.0, 32-bit) 18070.112035 11.1x
Native (GCC 7.4.0, 64-bit) 19144.862795 11.8x
``` ```
## Simple recursive Fibonacci calculation test ## Simple recursive Fibonacci calculation test

@ -26,33 +26,35 @@ emsdk activate latest
### Running ### Running
```sh ```sh
export ENGINES_PATH=/opt/wasm_engines
# Wasm3 # Wasm3
../../../build/wasm3 coremark-wasi.wasm ../../../build/wasm3 coremark-wasi.wasm
# WAC # WAC
$ENGINES_PATH/wac/wax coremark-wasi.wasm wax coremark-wasi.wasm
# wasm-micro-runtime # wasm-micro-runtime
$ENGINES_PATH/wasm-micro-runtime/core/iwasm/products/linux/build/iwasm coremark-wasi.wasm iwasm coremark-wasi.wasm
# wasmtime # wasmtime
wasmtime --optimize coremark-wasi.wasm wasmtime --optimize coremark-wasi.wasm
# Wasmer # Wasmer
wasmer run coremark-wasi.wasm wasmer run --backend singlepass coremark-wasi.wasm
wasmer run --backend cranelift coremark-wasi.wasm
wasmer run --backend llvm coremark-wasi.wasm
# Webassembly.sh # Webassembly.sh
wapm upload wapm install coremark
coremark-wasi coremark
# Wasmer-JS (V8) # Wasmer-JS (V8)
wasmer-js run coremark-wasi.wasm wasmer-js run coremark-wasi.wasm
# WAVM # WAVM
$ENGINES_PATH/WAVM/Release/bin/wavm run coremark-wasi.wasm wavm run coremark-wasi.wasm
# V8 interpreter
node --wasm_interpret_all $(which wasmer-js) run coremark-wasi.wasm
``` ```
### Running EMCC version ### Running EMCC version

Loading…
Cancel
Save