- Description about the talk
- The author is developing "mruby/edge", a specialized Ruby runtime for WebAssembly (WASM).
One of the reasons the author started to build a new runtime is that he aimed to create a smaller wasm binary than CRuby's, which is 18 MB (observed from 3.3.0 build). A reduction in binary size addresses the diverse use cases of WASM.
Additionally, mruby/edge associates Ruby methods with corresponding WASM-exported functions. This is in contrast to the implementations of Ruby.wasm and mruby-wasmized-by-emscripten, which only support top-level script execution.
To accomplish these objectives, the author decided to build a VM from scratch, utilizing mruby's elegant bytecode spec for its instruction set. This places mruby/edge within the “mruby family” as a new member.
The talk will cover its internal technologies, challenges, mruby VM and WASM insights, and future prospects, including support for WASM Component Model in mruby/edge.