-
Notifications
You must be signed in to change notification settings - Fork 695
Performance
Wang Xin edited this page Mar 12, 2020
·
5 revisions
Test date: 3/12/2020
CPU:Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
OS :ubuntu 18.04
Compiler:gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1), flag: O3
performance comparison:
workload | wamr-aot / wasm3 | wasm3 / wamr-interpreter | wamr-aot / GCC(O3) | wamr interpreters (fast/classic) |
---|---|---|---|---|
matrix | 8.5 | 1.05 | 0.34 | 2.1 |
gimli | 8.4 | 1.03 | 0.77 | 2.7 |
CoreMark | 5.9 | 1.28 | 0.49 | 2.5 |
Note:
- WAMR provides two interpreters - the fast version for advanced performance and and the classic version smaller footprint respectively.
- Workload
CoreMark
is measured by its reported scores, and other workloadsmatrix
andgimli
are measured by the execution time.
Board: nucleo_f767zi (ARMV7 Cortex-M7)
OS : Zephyr
Compiler: arm-zephyr-eabi-gcc (crosstool-NG 1.24.0.37-3f461da-dirty) 9.2.0, Os
performance comparison:
workload | wamr-aot/wasm3 | wasm3/wamr-interpreter | wamr interpreters (fast/classic) |
---|---|---|---|
matrix | 24.3 | 1.09 | 1.75 |
gimli | 20.8 | 1.08 | 2.06 |
seqhash | 10.2 | 1.15 | 1.46 |
workload: CoreMark
measurement tool: valgrind/massif
WASM interpreter | Peak memory usage |
---|---|
WAMR classic | 288KB |
WAMR fast | 363KB |
wasm3 | 522KB |
Workload | GCC compiled native binary (KB) | Wasm bytecode (KB) | iwasm-aot module (KB)** |
---|---|---|---|
coremark | 23120 | 10542 | 32108 |
base64 | 10224 | 6284 | 7440 |
gimli | 10224 | 905 | 3204 |
The page is also a response to the data published by wasm3 at https://github.com/wasm3/wasm3/blob/master/docs/Performance.md.
Some background of the performance comparison between WAMR and wasm3:
https://github.com/bytecodealliance/wasm-micro-runtime/issues/134
WebAssembly Micro Runtime