Published November 6, 2022
| Version 1.0.0
Software
Open
Leaps and bounds: Analysing WebAssembly's performance with a focus on bounds checking
- 1. University of Edinburgh, United Kingdom
- 2. University of St Andrews, United Kingdom
Description
Leaps and bounds: Analysing WebAssembly’s performance with a focus on bounds checking - Source code and experimental data bundle
This is the code&data bundle accompanying the IISWC2022 paper "Leaps and bounds: Analysing WebAssembly’s performance with a focus on bounds checking" by Raven Szewczyk, Kim Stonehouse, Antonio Barbalace and Tom Spink.
The bundle is archived in the wasmbounds-oss-v1.0.0.tar.gz file, and the other tar.gz files are pre-built Docker-compatible OCI container images that can be used to reproduce benchmark results on new machines.
Contents of the main bundle:
graphs/plots
: Plots used in the papergraphs/wasmbounds.Rmd
,graphs/knitall.R
: R source code used to generate the plotsruns/kone.csv
,runs/sole.csv
,runs/riscv.csv
: Raw experimental data used to generate the plots in the CSV (comma-separated value) format (kone = x86_64 machine, sole = armv8 machine, riscv = Nezha D1 RISC-V development board)- These are gzipped in the GitHub version of this archive due to file size limitations, make sure to unzip them before using any of the scripts
patches-{polybenchc,speccpu2017}.patch
: Our patches to the Polybench/C and SPECcpu2017 benchmark suites to make them compatible with WebAssemblypatches-{nodev8,wasm3,wasmtime,wavm}.patch
: Our patches to the WebAssembly runtimes evaluated in the paper adding support for alternative bounds checking methods and integrating them with our benchmarking harnessrunner-src/*
,CMakeLists.txt
,CMakePresets.json
: C++ Source code for the benchmarking harness, including the UserfaultFD memory arena managerstatmon/*
: Rust source code for the system resource usage and CPU performance counter monitoring tool used to generate the data for the paperscripts/*
,*.sh
: Utility scripts for compiling the benchmark suites, harness and running benchmarksDockerfile.*
,Bakefile-*.hcl
: Docker container definitions for reproducible benchmark running conditionscpp-libs/fmt
,node-v18.2.0
,polybench-c-4.2
,wasm3-0.5.0
,wasmtime
,WAVM
- already patched open source third party libraries and WebAssembly runtimes used in the paper- Not included:
spec-cpu
- an installation of the SPECcpu2017 benchmark suite, not included due to licensing restrictions but patches are provided for users who hold a license
More information in the README.MD file in the bundle.
Files
Files
(4.8 GB)
Name | Size | Download all |
---|---|---|
md5:fe79559f663489958a0a9f6ff75a45aa
|
307.0 MB | Download |
md5:7947e40d2f8ce9079fb4b1e8d631c16a
|
295.1 MB | Download |
md5:6b481b68ca7ec97517db29b63912732e
|
277.3 MB | Download |
md5:4ee393c5752fea430e331151f75d49ed
|
316.2 MB | Download |
md5:c27bc157ff68e7c420d214bdc56df9e2
|
244.7 MB | Download |
md5:222b244e47c2763efccd4267b3b69381
|
230.8 MB | Download |
md5:7221865d548b55967af65224600efbae
|
263.9 MB | Download |
md5:a154c9c29fb17ccfa4912821febcd1d4
|
881.9 MB | Download |
md5:8740c94044b4ca4ff47b769a3fb383f9
|
1.0 GB | Download |
md5:992bc15b23d3afd746d1bf93fcb87dd1
|
944.1 MB | Download |
Additional details
Related works
- Is identical to
- Software: https://github.com/wasmbounds/wasmbounds/releases/tag/v1.0.0 (URL)
- Is supplement to
- Conference paper: 10.1109/IISWC55918.2022.00030 (DOI)
- Conference paper: https://ieeexplore.ieee.org/document/9975418 (URL)