Skip to content
Select theme

Rust vs Go: choosing a backend stack

What you end up with: an informed answer to “which of these two should we build this in”, backed by benchmarks you ran yourself rather than blog posts you read.

The decision table’s verdict for three project archetypes

This is a comparison track rather than a build track, but it is not opinion writing. Each article implements the same thing twice — a JSON API, a worker pool, a streaming endpoint — and reports what happened: lines of code, latency, memory, compile time, and how long it took to debug.

  • The same HTTP API in Axum and in net/http, benchmarked
  • Concurrency: goroutines versus async tasks and threads, and when the difference shows up
  • Error handling: if err != nil versus Result and ?
  • Compile and iteration speed, measured over a week of real work
  • Deployment: one binary versus one binary, and the container size question
  • Memory under load, with actual numbers from both
  • Hiring and onboarding: what each language costs a team
  • A decision table: which to pick for which kind of project

You do not need to know Go, but you do need to be comfortable writing Rust: this track will not explain ownership, and both implementations assume you can read the other language’s syntax.