Ruby to Rust
summary
Deliveroo replaces the Ruby dispatch core piece‑by‑piece with Rust using ruru/rutie extensions and a serde-driven serialization bridge so Ruby objects map to Rust structs automatically. Migration happens in ten feature‑flagged stages, keeping Ruby and Rust running side‑by‑side; calls cross the FFI in under a millisecond. The rewrite yields a 17x speed‑up over the previous hybrid implementation, supports safe parallelism via rayon with a small change, and includes panic trapping, rich error context, and automatic fallback to Ruby.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:03About Deliveroo
- 1:57Dispatch
- 4:04Ruby
- 5:14Rust
- 8:07No Ship One
- 8:29Incremental
- 11:30Ruby Class
- 12:49Rust Macros
- 13:37A String
- 14:37Name Binding
- 15:38String Reference
- 16:18Order
- 17:19Class
- 19:30ThirdA
- 21:51Rooty
- 23:11Error Handling
- 28:56Questions








