Why Discord is switching from Go to Rust ↦
The TLDR of their reasoning is Go’s garbage collection was causing performance problems at scale. Since Rust doesn’t have a garbage collector, it allowed the team to manage their memory use more effectively. Their results were… uplifting:
Remarkably, we had only put very basic thought into optimization as the Rust version was written. Even with just basic optimization, Rust was able to outperform the hyper hand-tuned Go version. This is a huge testament to how easy it is to write efficient programs with Rust compared to the deep dive we had to do with Go.
This is not a Go sucks switch to Rust story. It is a well-reasoned argument for using one technology over the other when it makes sense to do so.
When starting a new project or software component, we consider using Rust. Of course, we only use it where it makes sense.
Discussion
Sign in or Join to comment or subscribe
Tim de Putter
Emden, Germany
2020-02-11T06:42:06Z ago
“This is not a Go sucks switch to Rust story. It is a well-reasoned argument for using one technology over the other when it makes sense to do so.” sad that this has to be said explicitly…