Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Dataset . 2023
License: CC BY
Data sources: Datacite
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Dataset . 2023
License: CC BY
Data sources: Datacite
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Dataset . 2023
License: CC BY
Data sources: ZENODO
versions View all 2 versions
addClaim

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

Authors: Alan; Weihang;

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

Abstract

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. The scripts are written in Python and Node.js, and the dependencies to run the scripts are Node.js, Python, and MySQL. To download the necessary dependencies for the scripts, run the command `pip install -r requirements.txt` in Scripts folder, and run `npm install` in the Scripts/performance-measurement-tool folder. Then, import the included MySQL schemas under the Scripts folder into a MySQL database. Update the MySQL connection details in the Scripts\__db_utils.py and Scripts\performance-measurement-tool\src\MySQLConnector.ts files, and then run `npm run build` in the Scripts\performance-measurement-tool folder.

Related Organizations
Keywords

WebAssembly, Function Inlining, LLVM, Binaryen, Emscripten

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
    OpenAIRE UsageCounts
    Usage byUsageCounts
    visibility views 14
  • 14
    views
    Powered byOpenAIRE UsageCounts
Powered by OpenAIRE graph
Found an issue? Give us feedback
visibility
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
views
OpenAIRE UsageCountsViews provided by UsageCounts
0
Average
Average
Average
14