~/talk

WebAssembly VM in Nock

Talkat LambdaConf 2025 · 2025-05-12..05-13· [webassembly]
links:none on file
slides:none on file

Runs a WebAssembly interpreter compiled into Nock using a Wasm3 fork hardened for determinism, proving jets can execute complex non‑Nock code with minimal marshalling. State is represented as an event log and accelerated with persistent partial memoization so replaying external calls caches intermediate VM snapshots. Measured overhead is concrete: 400ms stateless vs 500ms stateful with state-serialization taking milliseconds and ~20% slowdowns on some control‑heavy workloads. Worked well for JavaScript integration in Urbit messenger, WAT via a Rust wat2wasm, and an SDK for user scripts.

AI-written summary · about

  1. 0:00Introduction
  2. 1:47Conventional software in Nock
  3. 3:56Optimizing Nock with jets
  4. 8:50WebAssembly interpreter design
  5. 11:19Script representation challenges
  6. 15:57WebAssembly text format
  7. 17:25IO in WebAssembly jets
  8. 18:29Memoization in Nock
  9. 22:12Performance of stateful WebAssembly
  10. 23:59Future directions
  11. 24:21Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.