The Rust Keyword

Not the keyword you're looking for? See all keywords.

Observability

The basis of reactive programming is observability. Let's play with it.

Announcing the first Java library to run WebAssembly: Wasmer JNI

This article presents the wasmer-java project: the first Java library to run WebAssembly.

Announcing the first Postgres extension to run WebAssembly

This article presents wasmer-postgres: the first Postgres extension to run WebAssembly. The article explores some possibilities. This is super experimental!

Announcing the fastest WebAssembly runtime for Go: wasmer

This article presents wasmer-go: the fastest WebAssembly runtime for Go.

🐘+🦀+🕸 php-ext-wasm: Migrating from wasmi to Wasmer

This article explains how and why I've migrated php-ext-wasm from wasmi to Wasmer.

The PHP galaxy

This episode is the end of our experimental, and so of our journey. With the C API we have defined, we can now explore the PHP galaxy. First off, we need to discover how to write a PHP extension. Once it's done, we can write improve our skeleton extension to use our Rust parser via C. As usual, we will compare our Rust to C to PHP design versus the current PEG.php solution. Is it faster? Once again, it's amazing how faster it is!

The C galaxy

C is the lingua franca of many programming languages. In this episode, we will approach the famous Foreign Function Interface (FFI) by generating a C API in Rust. We will continue by automatically generating C headers so that our interfaces are never outdated. Finally, we will write a small C programs just to test everything works as expected. After all, C is a trampoline to reach other galaxies.

The ASM.js galaxy

In this episode, we explore the ASM.js galaxy, as a fallback to WebAssembly when the JavaScript host doesn't support it. We end by a benchmark comparing the Rust to WebAssembly to ASM.js to JavaScript design versus the PEG.js solution: is it faster? Is it still worth it after the conversions to ASM.js? Oh bloody… still yeah!

The WebAssembly galaxy

In this episode, we explore the WebAssembly galaxy.

We first off present WebAssembly. Then we see how to write a Rust program tailored for WebAssembly. We continue by explaining how to run this WebAssembly module on a JavaScript host. It brings some complications, like how to flatten an Abstract Syntax Tree to get fast memory accesses between Rust and JavaScript. We continue by reducing the size of the WebAssembly module to make it as small as possible, smaller than a tiny image. Finally, we compare performance of this Rust to WebAssembly to JavaScript design versus the original PEG.js solution: is it faster? Oh yeah… it is!

Prelude

Let's start by explaining what Gutenberg is, how our own Rust works, and what we need to do.

Tagua VM, a safe PHP virtual machine

Watch my last talk at the PHPTour conference about Tagua VM, an experimental PHP runtime written in Rust and LLVM.

Faster find algorithms in nom

This article explains quickly how I've improved nom's performance by 78% when parsing in some cases.