A live compiler and JIT runtime for Rust, written in Rust
Rust without the wait.
rustc builds your program, then you run it. Relax runs your program while it builds it.
Relax runs a Cargo package straight from source, with no rustc, LLVM or linker in the loop. It checks your code, compiles each function the moment it is first called, optimises the hot ones while the program runs, and patches new code into the running process when you save a file.
TL;DR
The scoreboard
Relax vs rustc
Relax
rustc + Cargo
What it took
A new Rust toolchain, from source bytes to machine code.
The job · in the usual toolchain · in Relax
Why this changes Rust
Keep the speed and the safety. Drop the charge.
Saving is the build
- Frames since start
- Patches
- Restarts
Feature by feature
Relax vs rustc, feature by feature.
Speed
Relax vs rustc, on real workloads.
Show the numbers
Honest numbers
Where LLVM still wins.
Architecture
One process, from source bytes to executable memory.
The layers, and what they replace
Tiering and live patching
A function's life.
Design rules
Design rules, and what they mean against rustc.
Building
Building Relax.