There is a newer version of the record available.

Published August 25, 2023 | Version v1
Dataset Open

Dataset for "When Function Inlining Meets WebAssembly: A Counterintuitive Effect on Runtime Performance"

  • 1. Romano
  • 2. Wang

Description

This repository contains the Experiment Results and Collection scripts for our ESEC/FSE 2023 submission, "When Function Inlining Meets WebAssembly: A Counterintuitive Effect on Runtime Performance"

Our runtime experiment data is located in the Experiment Results directory. This directory contains two subdirectories, All Experiment Results and Counterintuitive Results Only. In All Experiment Results, we present the runtime results from our Experiments 1-5 and the Libsodium.js case study as CSV files. For the Chromium and Firefox results, each CSV file list the sample names and multiple columns for each of the four optimization levels, O0-O3. Under each optimization level, we list the runtime (in milliseconds) with inlining enabled (from the Baseline experiment), the runtime with inlining enabled (from one of Experiment #1-5), and percent change in runtime after disabling inlining.

The Counterintuitive Results Only directory contains CSV files presenting only the samples from each Experiment #1-5 that meet our threshold of at least a 5% decrease in runtime after disabling inlining.

The Excel file, Wasm Function Inlining Experiment Data.xlsx, contains all of these results in a single workbook, as well as formatting applied to highlight the counterintuitive runtime values presented in our paper.

The raw data collected from our experiments, including the generated WebAssembly, HTML, and JS files to run the samples, is found under the RawCollectedData directory. This folder contains a zipped file that, when extracted, contains subdirectories for each sample's collected data.

The CollectionScripts directory contains the scripts necessary to run our experiments. The PatchFiles directory contains the files from the Binaryen and LLVM infrastructures with the changes that we introduced to enable and disable select optimization passes through environment variables. The Scripts directory contains the scripts we used to run our experiments. The main file within this directory that serves as the entry point is opt_level_inlining.py. This file uses the other scripts to run Experiments 1-5 in our study. The script libsodiumjs_script.py is used to run our Libsodium.js case study.

Files

Artifact.zip

Files (1.6 GB)

Name Size Download all
md5:c7f94d9131dba70472ec51af09684f62
1.6 GB Preview Download

Additional details

Funding

CAREER: Cross-Boundary Program Analyses for Web Applications 2047980
National Science Foundation