I have been reading the blog post by Frank Denis https://00f.net/2023/01/04/webassembly-benchmark-2023/ and try to understand the results. I have been able to build the benchmarks, but in my measurements iwasm from WAMR is consistently at least an order of magnitude slower than wasmtime. I have not been able to reproduce the results from this blog post. I have tried to get in touch with Frank, but he does not reply on twitter or to github issues.
Can someone explain?
cc: @Frank Denis, @Wenyong Huang
Are you using iwasm in interpreted mode or with AOT?
The benchmarks were run as in the wasi-test-wrapper.sh
script, by running wamrc
first, and then iwasm
.
With a recent Zig version, so it has a current wasi-libc, and modules were then optimized by wasm-opt
. Bulk memory opts were turned on.
@Mats Brorsson You can download iwasm and wamrc from:
https://github.com/bytecodealliance/wasm-micro-runtime/releases/tag/WAMR-1.1.2
I uploaded simple test scripts for a reference, suppose you wasmtime, iwasm and wamrc are in system paths:
tar -zxf libsodium-test.tar.gz
cd libsodium-test
./build.sh (clone wasm files and build them into wamr aot files)
./test_aot.sh (run workloads, the output data is dumped into report.txt)
Frank Denis said:
Are you using iwasm in interpreted mode or with AOT?
I ran without AOT but tried the various execution modes with interpretation and jit. I am now trying the scripts from @Wenyong Huang. On wasmtime AoT did not do much difference for me, so it will be interesting to see it here.
Last updated: Dec 23 2024 at 12:05 UTC