Skip to content

Languages & Runtimes

From Bytes to Execution: Writing a WebAssembly Runtime in Rust

with Gaurav Gahlot

Thursday 9 July 16:10 – 16:40 Stage 10 - powered by TikTok

About This Session

WebAssembly runtimes power everything from serverless platforms to container sandboxes — but their internals often feel opaque. In this talk, I demystify those internals by presenting Whisk, a minimal WebAssembly runtime I built entirely in Rust. Rather than focusing on a production-grade engine, Whisk intentionally strips the runtime down to its essential components: module parsing, validation, memory handling, and instruction execution. Walking through these pieces makes the architecture of a WASM runtime clear and approachable, while also showing how Rust’s enums, traits, and safety guarantees naturally support VM design. We’ll explore how an interpreter is built step-by-step, what trade-offs arise in a minimal design, and how Whisk differs from larger runtimes like Wasmtime or Wasmer. I’ll also demo Whisk running real WebAssembly modules (non-WASI), illustrating where the boundaries of a tiny runtime lie. Attendees will learn: - How a WebAssembly runtime works from the inside out - How to design a small interpreter in Rust - Why Rust is well-suited for building VMs and sandboxes - The trade-offs between minimal and production-grade runtimes - How lightweight engines fit into today’s WASM and cloud-native ecosystem This talk offers a practical and accessible deep dive into WebAssembly internals — with Rust as the guide.

Topics

  • Rust
  • Runtimes
  • WebAssembly