Relax runs your Rust program while it compiles it, cutting a 3-minute build to 11 seconds
Relax: JIT compiler for Rust to reduce build times
Relax is a live compiler and JIT runtime for Rust, written in Rust with 438k lines and zero crates.io dependencies. It runs a Cargo package straight from source, with no rustc, LLVM, or linker, compiling each function on first call and patching edits into the running process. A large 3D game shows its first frame 11 seconds after a clean checkout on an M4 MacBook, versus roughly 3 minutes with rustc, and 92 tests re-run in 2.2 seconds after a save. Optimized code still trails rustc --release.
Rust gives you speed and safety, and charges for them in compile times. Relax keeps the speed and the safety and drops the charge.
- faresahmed
Somehow always, someone somewhere rediscovers that cutting down the time between coding and code execution makes our lives easier and to a degree be able to write better programs.
Perhaps the earliest and best attempt was Lisp's computational model. Since then, the idea manifested itself again[1], again[2], and again[3] in different forms.
[1]: Inventing on Principle, Bret Victor: https://www.youtube.com/watch?v=PUv66718DII
[2]: REPL-Driven Development, Stuart Halloway: https://vimeo.com/223309989
[3]: LIVE, Live Programming workshop: https://liveprog.org/
- Sytten
We have had good experience with kache so far to speedup builds in CI and local
- kennykartman
I knew that makepad devs were focused on build times, but didn't imagine this much!