Session

Look who's talking!

Detail illustration WASM I/O Detail illustration WASM I/O
Benjamin Eckel
blend-mode
Andrea Peruffo
blend-mode

Chicory: Creating a Language-Native Wasm Runtime

Benjamin Eckel - Dylibso / Andrea Peruffo - Red Hat

This talk will outline how and why we created Chicory: a JVM native Wasm runtime. You should walk away with an understanding of what it takes to create a language-native runtime and why you might want to create one for your own language.

There are a number of mature Wasm runtimes to choose from to execute a Wasm module. To name a few v8, wasmtime, wasmer, wasmedge, etc.

Although these can be great choices for running a Wasm application, embedding them into your existing application has some downsides. Because these runtimes are written in C/C++/Rust/etc, they must be distributed and run as native code. This can cause a lot of additional friction and restrictions in a JVM application. And similar problems exists in other ecosystems as well (see Golang and Wazero).

In this talk we will outline what these problems are and how building a language-native runtime can solve them. We’ll also discuss what work is involved in creating a new runtime and what we have learned from the Wazero project.

View all sessions