Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code
Abhinav Jangda, Bobby Powers, Emery Berger, Arjun Guha

TL;DR
This paper introduces Browsix-Wasm to run unmodified WebAssembly Unix applications in browsers and provides a large-scale performance comparison showing WebAssembly is significantly slower than native code, with 45-55% average slowdown.
Contribution
The paper presents Browsix-Wasm, enabling large-scale evaluation of WebAssembly performance with unmodified Unix applications in browsers, revealing substantial performance gaps.
Findings
WebAssembly runs 45-55% slower than native code on SPEC CPU benchmarks.
Peak slowdowns reach up to 2.5x in Chrome and Firefox.
Performance issues stem from missing optimizations and inherent platform limitations.
Abstract
All major web browsers now support WebAssembly, a low-level bytecode intended to serve as a compilation target for code written in languages like C and C++. A key goal of WebAssembly is performance parity with native code; previous work reports near parity, with many applications compiled to WebAssembly running on average 10% slower than native code. However, this evaluation was limited to a suite of scientific kernels, each consisting of roughly 100 lines of code. Running more substantial applications was not possible because compiling code to WebAssembly is only part of the puzzle: standard Unix APIs are not available in the web browser environment. To address this challenge, we build Browsix-Wasm, a significant extension to Browsix that, for the first time, makes it possible to run unmodified WebAssembly-compiled Unix applications directly inside the browser. We then use Browsix-Wasm…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Diamond and Carbon-based Materials Research · Parallel Computing and Optimization Techniques
