Rust in Production: Lessons After Two Years

Two years ago we rewrote a Go microservice in Rust. Here’s what we learned—the good, the ugly, and the surprising. The Numbers Before we get into opinions, here are the cold hard metrics comparing the Go (1.21) and Rust (1.78) versions processing 10M API requests: Metric Go Rust Delta P99 latency 340ms 28ms -92% Memory (steady state) 2.1 GB 48 MB -98% CPU (avg) 4.2 cores 0.8 cores -81% Binary size 12 MB 4.8 MB -60% Lines of code 4,200 5,800 +38% The latency drop isn’t just about Rust being faster—it’s about tail latency predictability. Go’s GC pauses, while short, created sporadic spikes that triggered downstream timeouts. ...

May 25, 2026 · 2 min · 303 words · Rajesh