-
Notifications
You must be signed in to change notification settings - Fork 650
Performance
Wenyong Huang edited this page Sep 3, 2020
·
5 revisions
Test date: 9/1/2020
CPU:Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
OS :ubuntu 18.04 64-bit
Compiler:gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04), flag: O3
performance comparison:
workload | wamr-aot / wasm3 | wasm3 / wamr-interpreter | wamr-aot / GCC(O3) | wamr interpreters (fast/classic) |
---|---|---|---|---|
matrix | 22.02 | 1.23 | 0.68 | 2.47 |
gimli | 9.94 | 1.07 | 0.94 | 2.08 |
CoreMark | 8.79 | 1.32 | 0.79 | 2.52 |
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 | 30.17 | 1.06 | 1.65 |
gimli | 19.13 | 1.11 | 2.03 |
seqhash | 21.12 | 1.15 | 1.34 |
workload: CoreMark
measurement tool: valgrind/massif
WASM interpreter | Peak memory usage |
---|---|
WAMR classic | 365KB |
WAMR fast | 485KB |
wasm3 | 514KB |
Compilation option: -Os
Workload | GCC compiled native binary (KB) | Wasm bytecode (KB) | iwasm-aot module (KB)** |
---|---|---|---|
coremark | 23120 | 10457 | 17348 |
base64 | 8792 | 1026 | 1840 |
gimli | 8640 | 498 | 1080 |
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