Home/Performance Benchmarks
BENCHMARKS · Last verified October 2026

Rust vs Go performance:
2026 benchmark data with sources.

Every figure linked to its primary source. TechEmpower, Benchmarks Game, and production-scale reality checks from Discord, Cloudflare, and Uber.

26x
Rust faster (binary-trees)
1.07s vs 27.93s. Widest of ten tests; most 2-4x
Benchmarks Game
70%
Less CPU (Cloudflare)
Pingora vs NGINX at 1T req/day
Cloudflare blog 2022
12.0M
Go Fiber plaintext RPS
Round 23 hardware, 1.0 ms avg latency
Fiber docs (TechEmpower R23)

HTTP server throughput (TechEmpower Round 23)

Plaintext responses per second, identical hardware, no database. Source: techempower.com/benchmarks

Round 23 moved to ProLiant DL360 Gen10 Plus servers: 56-core Intel Xeon Gold 6330, 64 GB RAM, and 40 Gbps Mellanox ConnectX-6 networking. TechEmpower reported roughly 4x improvements in the theoretical network-bound tests as a result, and plaintext is one of those. Any plaintext ranking that tops out near 7 million requests per second is from before this round: that was the old 10 Gbps network saturating, not the frameworks hitting their limit.

Go Fiber v3 · 11,987,976 responses/sec · 1.0 ms avg latency

On the Round 23 hardware, as published by Fiber itself. docs.gofiber.io

We no longer publish a per-framework league table for this test. TechEmpower serves Round 23 through an interactive viewer rather than a citable export, and the project archived its benchmark repository in March 2026, so there is no dated per-framework file to quote against. Use the live viewer. The broader caveat stands regardless: these are raw throughput figures under ideal conditions, and production APIs add database latency, authentication, logging, and business logic that close the gap considerably.

CPU-bound: Benchmarks Game (Rust vs Go)

Source: benchmarksgame-team.pages.debian.net

BenchmarkRust (s)Go (s)Rust advantage
binary-trees (GC pressure)1.07s27.93s26.1x faster
regex-redux (regex)0.78s3.23s4.1x faster
mandelbrot (SIMD-friendly)0.95s3.77s4.0x faster
reverse-complement (string I/O)0.55s1.93s3.5x faster
k-nucleotide (hash maps)2.57s7.58s3.0x faster
n-body (float math)2.19s6.39s2.9x faster
fannkuch-redux (permutations)3.81s8.36s2.2x faster
spectral-norm (float math)0.72s1.43s2.0x faster
fasta (file I/O)0.78s1.27s1.6x faster
pidigits (big integers)0.71s0.82s1.2x faster
All ten benchmarks, fastest program per language, read from the source page in October 2026. Note how much of the headline Rust-vs-Go story rests on a single row: binary-trees is specifically designed to stress the garbage collector, so its 26x gap is a GC result rather than a general speed result. Strip it out and the other nine sit between 1.2x and 4.1x.

Memory footprint: typical web services

RUST
50-80 MB
Typical Axum/Actix-web service, no GC overhead, deterministic memory use
GO
100-320 MB
Typical net/http service with GC heap. Varies with load; GC triggers add memory overhead

Production-scale reality checks

Cloudflare PingoraRUST
70% less CPU, 67% less memory

Replaced NGINX as the primary HTTP proxy for 1 trillion requests per day. Built from scratch in Rust. This is not a micro-benchmark: it's the most heavily trafficked Rust program in the world.

Source →
Discord Read StatesRUST
Eliminated GC pauses entirely

Go service caused latency spikes every 2 minutes from GC pauses, even after memory pool optimisation. Rust rewrite eliminated all GC-related latency. 8 million concurrent Read State entries served without jitter.

Source →
Uber Go fleet (PGO)GO
24,000 CPU cores saved

Profile-guided optimisation (PGO) on Go microservices gave Uber a ~4% gain from better inlining and, in their words, "a reduction of 24,000 CPU cores across top services". Uber does not publish a total core count, so we do not infer one. Go at hyperscale is worth optimising too.

Source →
Twitch chat (Go)GO
Hundreds of billions of messages/day

Go's goroutine model handles the concurrency of millions of simultaneous chat rooms without drama. No memory pressure that would require Rust. Go is fast enough for this workload and much faster to maintain.

Source →

The honest take: Go is fast enough for 99% of services

The Cloudflare and Discord migrations happened because they hit real, specific performance walls that Go could not clear. Both teams were running services at extraordinary scale with precise latency requirements. For an API serving <100k requests/second, or a CLI tool used by 10,000 engineers, Go's performance is irrelevant to your business outcome. Pick the language that ships faster and is easier to maintain. That's usually Go.

Goroutines vs Tokio: concurrency deep dive →Full case study table →