Rust vs Go in 2026: which one should you actually pick?
Go for most things. Rust when “most things” is wrong. Here's the decision matrix.
Current stable versions (October 2026)
The current stable Rust version is 1.99.0(2024 edition), released 1 October 2026 (stabilising extern "C" variadic functions and layout queries on raw pointers). The current stable Go version is 1.27.1, released 1 September 2026; the previous 1.26 line's latest patch is 1.26.8 (1 September 2026). Rust ships a new stable every six weeks (1.100.0 is due 12 November 2026); Go ships a major release roughly every six months. Full tooling and version detail.
At a glance: which wins per use case
| If you're building... | Pick | Why |
|---|---|---|
| Web service, API, microservice | Go | Goroutines + stdlib + 2-week ramp. Ship faster. |
| CLI tool, DevOps binary | Either | Go if solo or team-focused. Rust for single static binary + bulletproof errors. |
| Embedded, kernel, OS | Rust | No GC, deterministic memory, drop-in for C++. Embassy framework. |
| Blockchain, crypto, low-latency trading | Rust | Memory safety + no GC pauses + ecosystem (Solana, Polkadot, Substrate). |
| Game engine, real-time graphics | Rust | Bevy + wgpu + zero-cost abstractions. Go's GC kills frame budgets. |
| ML inference, data pipelines | Python first | PyTorch/JAX dominate. Rust (candle, burn) for latency-critical inference only. |
Get your verdict
Answer 3 questions for a project-specific recommendation.
The 30-second answer
If you're a beginner
Learn Go. You can ship a working HTTP service in your first week. Rust takes 2-3 months to write working programs and 6-12 months to feel productive. Go has ~25 keywords. Rust has 50+ plus a substantial type system with lifetimes, traits, and a borrow checker. Both are worth learning eventually. Go first.
If you're picking for a project
Use Go for web services, CLIs, tools, and anything where shipping speed matters. Use Rust for embedded systems, anything without a GC, blockchain, and game engines. The talent pool is the biggest practical argument for Go on team projects: it is the incumbent language of the infrastructure tier, so the pool of engineers who can already read your code is deeper.
If you're already shipping
Don't rewrite unless you have a specific Rust-shaped problem. Discord switched one service (Read States) because GC pauses were causing real latency spikes. Cloudflare rewrote one proxy (Pingora) because NGINX couldn't be improved further. Most of their stacks remain what they always were. Rust-shaped problems are rare and specific.
TechEmpower Round 23: HTTP framework throughput
What the plaintext test actually measures, and what we can and cannot cite. Source: techempower.com/benchmarks
Round 23 ran on ProLiant DL360 Gen10 Plus servers: 56-core Intel Xeon Gold 6330, 64 GB RAM, and 40 Gbps Mellanox ConnectX-6 networking. TechEmpower recorded roughly 4x improvements in the theoretical network-bound tests off the back of that change, and plaintext is one of them. Any plaintext league table that tops out around 7 million requests per second predates this round: that ceiling was the old 10 Gbps network saturating, not the frameworks.
At 1.0 ms average latency, on the Round 23 hardware. This is the figure Fiber publishes in its own documentation, and it is the one per-framework number on this test we can point at a primary source for. docs.gofiber.io
Production case studies
Real companies, real migrations, real numbers. Every figure linked to its source.
Read States cache: Go service caused latency spikes every 2 min from GC. Rust rewrite eliminated them entirely. 8M concurrent Read State entries.
Pingora proxy replaced NGINX for 1 trillion requests/day. Built from scratch in Rust. Also runs KV, Workers runtime, and edge networking in Rust.
Profile-guided optimisation (PGO) saved 24,000 CPU cores across Uber's top services, alongside a ~4% gain from better inlining. Their Go geofence service peaked at 170,000 queries per second on 40 machines, under 5 ms at the 95th percentile.
Chat is several real-time distributed systems written in Go, delivering hundreds of billions of messages a day. Twitch reports an average of over 2.5 million active viewers. Goroutines handle that concurrency without drama.
Security-critical sync and vault engine rewritten in Rust. Memory safety is non-negotiable when storing passwords. Ships on iOS, Android, Linux, macOS, Windows from one Rust core. The 63% figure is the Rust Foundation's March 2022 member spotlight; 1Password has not published a newer one.
Frequently asked questions
Is Rust harder than Go?⌄
Significantly harder. Go has roughly 25 keywords and one obvious way to do most things. Rust has 50+ keywords and reserved words plus lifetimes, traits, a borrow checker, and an async model that requires understanding Pin and futures. Stack Overflow 2025: Rust is the most-admired language at 72%, but only 14.8% of respondents actually use it, partly because the ramp-up time is real.
What about TypeScript / Python / Java?⌄
TypeScript: excellent for web frontends and Node services where you're already in the JS ecosystem. Python: the right answer for ML/data science, scripting, and rapid prototyping. Java/Kotlin: strong for Android, enterprise JVM shops, and teams with existing Java expertise. Neither Rust nor Go is the right answer for every problem.
Is Go a dying language?⌄
No. Go usage rose from 13.5% of Stack Overflow survey respondents in 2024 to 16.4% in 2025, and Go now outranks Rust (14.8%) on that measure. Kubernetes, Docker, Terraform, and Prometheus are all Go and are not going anywhere. Most 'Go is dying' takes confuse 'less hype than 2019' with 'declining usage'. They're different.
Should I use Rust for a web API?⌄
Probably not as your first choice. Go is more productive for web APIs (goroutines, clean stdlib, 2-week ramp), and whatever raw throughput edge the fastest Rust HTTP frameworks hold on synthetic benchmarks will not matter until you are handling extreme load. Fiber alone reports almost 12 million plaintext responses per second on TechEmpower's Round 23 hardware. If you're already at Cloudflare scale, the conversation changes.
Related engineering decisions
Language choice and repo layout are linked decisions for polyglot teams.
Rust's 30-120s compile times compound in CI. Calculate the real cost.
Go's larger hiring pool changes the cost of staffing a backend team.
Language choice is one node in the broader stack cost decision.