HackerPapers

arXiv:2205.01183cs.PL

A fast in-place interpreter for WebAssembly

Ben L. Titzer

Abstract

WebAssembly (Wasm) is a compact, well-specified bytecode format that offers a portable compilation target with near-native execution speed. The bytecode format was specifically designed to be fast to parse, validate, and compile, positioning itself as a portable alternative to native code. It was pointedly not designed to be interpreted directly. Instead, design considerations at the time focused on competing with native code, utilizing optimizing compilers as the primary execution tier. Yet, in JIT scenarios, compilation time and memory consumption critically impact application startup, leading many Wasm engines to later deploy baseline (single-pass) compilers. Though faster, baseline compilers still take time and waste code space for infrequently executed code. A typical interpreter being infeasible, some engines resort to compiling Wasm not to machine code, but to a more compact, but easy to interpret format. This still takes time and wastes memory. Instead, we introduce in this article a fast in-place interpreter for WebAssembly, where no rewrite and no separate format is necessary. Our evaluation shows that in-place interpretation of Wasm code is space-efficient and fast, achieving performance on-par with interpreting a custom-designed internal format. This fills a hole in the execution tier space for Wasm, allowing for even faster startup and lower memory footprint than previous engine configurations.

arXiv comments
Journal reference
DOI
Subjects
cs.PLProgramming Languages cs.PFPerformance

On Hacker News

Linked by 2 identifiable commenters in 2 comments across 2 threads, from Feb 2025 to Mar 2026. Found in 2 HN submissions from Jul 2022 to Jul 2022. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments2 threads

  1. I Wrote a WebAssembly VM in C 1 comment
    • I found this article very interesting with regards direct WASM interpretation: https://arxiv.org/abs/2205.01183 I produced https://github.com/peterseymour/winter on the back of it and learnt WASM is not as simple as it should be.

      pcmooreView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.