Closed axic closed 4 years ago
Suggestion: rebase these branches on top of the closest release and name them as <version>-benchmarking
, e.g. wasm3 would have a branch called v0.4.2-benchmarking
based on the v0.4.2 release.
Here is the list of versions of VMs used:
go-ethereum
openethereum
evmone
cita-vm
wabt
wasmtime
asmble
wavm
life
ssvm
wasm-micro-runtime
wasm3
wagon
wasmi
rollup.rs
daiquiri
scout_wabt.cpp
biturbo
scout.ts
c_ewasm_contracts
@jwasinger @hugo-dc rebased the wasmi commit on wasmi 0.4.3 and moved the patch from examples/invoke.rs
to src/bin/invoke.rs
. This means it can be built with cargo build --release
without requiring the tests and wabt to build...
It is available at https://github.com/ewasm-benchmarking/wasmi/tree/v0.4.3-benchmarking
btw I tried that wasmi branch and I get an error:
vms_to_run: {'wasmi': <project.VMDescriptor.VMDescriptor object at 0x7fecf4d629d0>}
06/08/2020 04:23:45 AM <wasm_bencher>: launch guido-fuzzer-find-2 test
06/08/2020 04:23:45 AM <wasm_bencher>: /engines/wasmi/invoke /wasmfilesminified/guido-fuzzer-find-2.wasm main
['/engines/wasmi/invoke', '/wasmfilesminified/guido-fuzzer-find-2.wasm', 'main']
stdout_lines: thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', examples/invoke.rs:81:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
compile_lines: thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', examples/invoke.rs:81:21
compile_match: None
06/08/2020 04:23:45 AM <wasm_bencher>: wasmi (/engines/wasmi/invoke /wasmfilesminified/guido-fuzzer-find-2.wasm main) got exception:
Error parsing engine output. exception: 'NoneType' object is not subscriptable
engine output:
thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', examples/invoke.rs:81:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
06/08/2020 04:23:45 AM <wasm_bencher>: skipping engine wasmi for bench input guido-fuzzer-find-2
06/08/2020 04:23:45 AM <wasm_bencher>: launch bls12-381-aggreg-64-pubkeys-verify-sig test
06/08/2020 04:23:45 AM <wasm_bencher>: /engines/wasmi/invoke /wasmfilesminified/bls12-381-aggreg-64-pubkeys-verify-sig.wasm main
Also pushed wasm3 v0.4.7-benchmarking: https://github.com/ewasm-benchmarking/wasm3/tree/v0.4.7-benchmarking
btw I tried that wasmi branch and I get an error:
Weird. We can try based those commits on v0.4.4: https://github.com/ewasm-benchmarking/wasmi/tree/v0.4.4-benchmarking
We should also use git tags and not git branches on ewasm-benchmarking/<repo>
.
The reason: those can not be changed (well, not as easily as branches), so the benchmarking is way more reproducible.
New suggestion:
benchmarking
branch on each of the forks with the code.v1.2.3-benchmarking
.The reason: the tags can't be modified easily, but the branches are easily noticeable if we want to work on them later.
Updates:
Most of the easy pickings and/or useful ones were done: ssvm, wasm3, evmone, cita-vm, and parity
Two are still pending: wasmi and wagon
The following I don't think is worth bothering with given it is a lot of commits apart: wavm
We are not touching wabt, but rather renaming it, and adding vanilla-wabt (some recent version)
Still need to investigate: wamr and wasmtime
I tried figuring out the a closeby release for wasmtime but I think it is just too far apart. Would be nice to use a newer wasmtime, but for now I suggest we leave it alone.
Closing this and opening a tracking issue for wasmtime.
Can start collecting that here in the issue, but eventually should be documented in the readme or similar.
The hash is the upstream hash the branch is based on.
benchmark
) 130d7d07d0ee649a38b9b8df7d22404d960b2f09 / Jan 2020 / closest tag: WAMR-02-18-2020 (6 commits behind)benchmark
) 565b585697291a864d127f3cd3c383cebd80ab1e / 30 Dec 2019 / closest tag: v0.4.2 (5 commits behind)bench-times
) e9f4420cbd6da59babf15527294da199116aa0ff / 22 Feb 2019 / closest tag: 0.4.0 (3 commits behind)bench-time
) 23b054c0e5139f0266b6189deb4279749b8058d5 / 20 Jan 2019 / closest tag: 0.4.4 (5 commits behind)