From efaeab206eea8e363ad2701b19ac78deba44e84f Mon Sep 17 00:00:00 2001 From: Volodymyr Shymanskyy Date: Tue, 28 Jan 2020 00:53:41 +0200 Subject: [PATCH] Update performance results --- README.md | 4 ++-- docs/Performance.md | 30 ++++++++++++++++-------------- test/benchmark/coremark/README.md | 20 +++++++++++--------- 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 3047ee0..08a4956 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ 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 -**∼ 12.6x slower** than native execution +**∼ 12x slower** than native execution * Based on [**CoreMark 1.0** benchmark](./docs/Performance.md). Your mileage may vary. diff --git a/docs/Performance.md b/docs/Performance.md index a9f6964..82e32b9 100644 --- a/docs/Performance.md +++ b/docs/Performance.md @@ -3,20 +3,22 @@ ## CoreMark 1.0 results ```log -Node v13.0.1 (interpreter) 28 51.0x -wac (wax) 105 13.6x -wasm-micro-runtime 157 9.1x ▲ slower -wasm3 1428 1.0 -Wasmer 0.11.0 singlepass 4285 3.0x ▼ faster -wasmtime 0.7.0 (--optimize) 4615 3.2x -Webassembly.sh (Chromium 78) 6111 4.3x -Webassembly.sh (Firefox 70) 6470 4.5x -Wasmer 0.11.0 cranelift 6875 4.8x -wasmer-js (Node v13.0.1) 9090 6.3x -Wasmer 0.11.0 llvm 10526 7.4x -WAVM 15384 10.8x -Native (GCC 7.4.0, 32-bit) 17976 12.6x -Native (GCC 7.4.0, 64-bit) 19104 13.4x +# Intel i5-8250U x64 (1.6-3.4GHz) + +Node v13.0.1 (interpreter) 28.544923 57.0x +wac (wax) 101.864113 16.0x +wasm-micro-runtime 215.269805 7.6x ▲ slower +wasm3 1627.869119 1.0 +Wasmer 0.13.1 singlepass 4065.591544 2.5x ▼ faster +wasmtime 0.8.0 (--optimize) 6453.505427 4.0x +Wasmer 0.13.1 cranelift 6467.164442 4.0x +Webassembly.sh (Chromium 78) 6914.325225 4.2x +Webassembly.sh (Firefox 70) 7251.153593 4.5x +wasmer-js (Node v13.0.1) 10043.827611 6.2x +Wasmer 0.13.1 llvm 12450.199203 7.6x +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 diff --git a/test/benchmark/coremark/README.md b/test/benchmark/coremark/README.md index 266950c..4b6a66f 100644 --- a/test/benchmark/coremark/README.md +++ b/test/benchmark/coremark/README.md @@ -26,33 +26,35 @@ emsdk activate latest ### Running ```sh -export ENGINES_PATH=/opt/wasm_engines - # Wasm3 ../../../build/wasm3 coremark-wasi.wasm # WAC -$ENGINES_PATH/wac/wax coremark-wasi.wasm +wax coremark-wasi.wasm # wasm-micro-runtime -$ENGINES_PATH/wasm-micro-runtime/core/iwasm/products/linux/build/iwasm coremark-wasi.wasm +iwasm coremark-wasi.wasm # wasmtime wasmtime --optimize coremark-wasi.wasm # 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 -wapm upload -coremark-wasi +wapm install coremark +coremark # Wasmer-JS (V8) wasmer-js run coremark-wasi.wasm - # 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