For big/high load projects I think the discord use case is a good example https://discord.com/blog/why-discord-is-switching-from-go-to-rust BTW. I am pretty sure most small companies choosing Rust over Go is not because of performance but because of all the other set of advantages of Rust over Go. Answer from dragonnnnnnnnnn on reddit.com
🌐
Programming Language Benchmarks
programming-language-benchmarks.vercel.app › go-vs-rust
Go VS Rust benchmarks, Which programming language or compiler is faster
Current benchmark data was generated on Fri Aug 01 2025, full log can be found HERE · CONTRIBUTIONS are WELCOME
🌐
Reddit
reddit.com › r/golang › go vs rust performance test: 30% faster exec time, while 60 times more ram usage!
r/golang on Reddit: Go vs Rust performance test: 30% faster exec time, while 60 times more RAM usage!
April 6, 2025 -

The test: https://github.com/curvednebula/perf-tests

So in the test we run 100'000 parallel tasks, in each task 10'000 small structs created, inserted into a map, and after that retrieved from the map by the key.

Go (goroutines):

  • finished in 46.32s, one task avg 23.59s, min 0.02s, max 46.32s

  • RAM: 1.5Gb - 4Gb

Rust (tokio tasks):

  • finished in 67.85s, one task avg 33.237s, min 0.007s, max 67.854s

  • RAM: 35Mb - 60Mb

[UPDATE]: After limiting number of goroutines running simultaneously to number of CPU threads, RAM usage decreased from 4Gb to 36Mb. Rust's tokio tasks handle the test gracefully out of the box - no optimization required - only mimalloc to reduce execution time was added.

First, I'm not an expert in those two languages. I'm evaluating them for my project. So my implementation is most likely not the most efficient one. While that's true for both Go and Rust, and I was impressed that Go could finish the task 33% faster. But the RAM usage...

I understand that golang's GC just can't keep up with 100'000 goroutines that keep allocating new structs. This explains huge memory usage compared to Rust.

Since I prefer Go's simplicity - I wanted to make it work. So I created another test in Go (func testWithPool(...)) - where instead of creating new structs every time, I'm using pool. So I return structs back to the pool when a goroutine finishes. Now goroutines could reuse structs from the pool instead of creating new ones. In this case GC doesn't need to do much at all. While this made things even worse and RAM usage went up to the max RAM available.

I'm wondering if Go's implementation could be improved so we could keep RAM usage under control.

-----------------

[UPDATE] After more testing and implementing some ideas from the comments, I came to the following conclusion:

Rust was 30% slower with the default malloc, but almost identical to Go with mimalloc. While the biggest difference was massive RAM usage by Go: 2-4Gb vs Rust only 30-60Mb. But why? Is that simply because GC can't keep up with so many goroutines allocating structs?

Notice that on average Rust finished a task in 0.006s (max in 0.053s), while Go's average task duration was 16s! A massive differrence! If both finished all tasks at roughtly the same time that could only mean that Go is execute thousands of tasks in parallel sharing limited amount of CPU threads available, but Rust is running only couple of them at once. This explains why Rust's average task duration is so short.

Since Go runs so many tasks in paralell it keeps thousands of hash maps filled with thousands of structs in the RAM. GC can't even free this memory because application is still using it. Rust on the other hand only creates couple of hash maps at once.

So to solve the problem I've created a simple utility: CPU workers. It limits number of parallel tasks executed to be not more than the number of CPU threads. With this optimization Go's memory usage dropped to 1000Mb at start and it drops down to 200Mb as test runs. This is at least 4 times better than before. And probably the initial burst is just the result of GC warming up.

[FINAL-UPDATE]: After limiting number of goroutines running simultaneously to number of CPU threads, RAM usage decreased from 4Gb to 36Mb. Rust's tokio tasks handle this test gracefully out of the box - no optimization required - only mimalloc to reduce execution time was added. But Go optimization was very simple, so I wouldn't call it a problem. Overall I'm impressed with Go's performance.

🌐
JetBrains
blog.jetbrains.com › rust › 2025 › 06 › 12 › rust-vs-go
Rust vs Go: Which One to Choose in 2025 | The RustRover Blog
February 17, 2026 - For instance, a benchmark by benchmarks game shows that Rust implementations tend to have lower memory use and are often faster in computation-heavy tasks compared to Go. For example, Servo, a high-performance browser engine developed by Mozilla, ...
🌐
Rust Programming Language
users.rust-lang.org › help
Rust vs Go benchmark - help - The Rust Programming Language Forum
December 28, 2023 - I recently ported a codec for an in-house proprietary protocol from Go to Rust. I want to run a benchmark to compare the performance of the library written in Go with the one in Rust. Benchmark code in Go: func BenchmarkDecode(b *testing.B) { data := "....." for i := 0; i
🌐
Reddit
reddit.com › r/rust › speed of go vs rust in practice/real world experience?
r/rust on Reddit: Speed of Go vs Rust in practice/real world experience?
June 23, 2023 -

Hi!

I don't want to start another language war, so let me preface this by saying I love both Go and Rust like they are my own.

That out of the way: Do you have practical/real-world experience with the performance of Go, and the performance of Rust in the same setting?

How many people worked on the codebases? Which one is newer?

I'm asking because I've got a feeling that for smaller companies, Go would in practice (not in theory) outperform Rust because Rust's design encourages the use of inefficient patterns -- like cloning a bunch where you could theoretically pass a reference

🌐
Medium
medium.com › @dmytro.misik › go-vs-rust-web-service-performance-7fb10bbf9a9f
Go vs. Rust: Web Service Performance | by Dmytro Misik | Medium
December 6, 2024 - Go handled a smaller number of requests compared to Rust but exhibited consistent reliability with no failures. The response times varied more significantly, with a higher average and 95th percentile, suggesting less consistent performance under ...
🌐
DEV Community
dev.to › mukeshkuiry › go-vs-rust-speed-test-which-one-to-choose-in-2024-1ck
GO vs RUST speed test | Which one to choose in 2024 - DEV Community
January 2, 2024 - Practically, it means nothing when comparing performance of two programming languages. In this case you're printing to the terminal 1 million times. All you're benchmarking is how fast your terminal was at that point in time. Terminals are generally pretty slow at this kind of thing. If you pipe the output of each to /dev/null they'll be a lot faster each, like a lot faster. Example, the Rust program I ran once and got 8 seconds, then I changed the last line to print to stderr and ran again and it took 280ms.
Find elsewhere
🌐
LogRocket
blog.logrocket.com › home › go vs. rust: when to use rust and when to use go
Go vs. Rust: When to use Rust and when to use Go - LogRocket Blog
December 3, 2024 - For the binary-trees benchmark, the most optimized Rust code was 12 times faster than the most optimized Go code!
🌐
Medium
effective-programmer.com › rust-vs-go-battle-for-the-backend-368f775de9fc
Rust vs Go: Battle for the Backend | by Naveed Khan | Effective Programmer
March 10, 2025 - At the very least I am hoping not to get the hate mail I got for posting about PHP. Let’s dive into what makes each of these backend behemoths tick, and more importantly, why you might choose one over the other for your next server-side project. ... Alright, let’s talk performance — everyone’s favorite topic to argue about on Reddit! I had Claude pull some data for me comparing Rust and Go in a real-world scenario: a JSON-processing HTTP server (because let’s face it, that’s what most of us are building) and here is what it got:
🌐
DEV Community
dev.to › zanepearton › building-a-simple-web-server-rust-vs-go-om5
Rust vs. Go: The benchmark - DEV Community
February 6, 2024 - In this benchmark, the Go server is outperforming the Rust server in terms of both latency and throughput. However, it's important to note a few key considerations when interpreting these results: Server Configuration: The configuration of the ...
🌐
Xenoss
xenoss.io › blog › rust-vs-go-vs-python-comparison
Rust vs Go vs Python: The performance language showdown
For instance, a developer compared ... were surprising. In this Python vs Rust vs Go performance benchmark, Go appeared to be the fastest of all....
Published   December 29, 2025
🌐
Yalantis
yalantis.com › home › blog › go vs rust: how can you determine which language is better for your next project?
Go vs Rust: How can you determine which language is better for your next project?
May 12, 2025 - Golang is not intended to be extremely high-performance but rather to have sufficient performance to write a program quickly without thinking too much about speed. For a closer comparison of the performance of Rust and Go, you can check out this Rust vs Go performance benchmark.
🌐
Medium
medium.com › @mohitbajaj1995 › rust-vs-go-performance-test-b5837e321617
Rust vs Go Performance Test. Golang and Rust are two popular… | by Mohit Bajaj | Medium
October 31, 2024 - To reproduce these performance tests, here’s sample code to create basic HTTP servers in Rust and Go, which you can benchmark with Bombardier.
🌐
Bitfield Consulting
bitfieldconsulting.com › posts › rust-vs-go
Rust vs Go — Bitfield Consulting
February 15, 2026 - Rust’s clever compiler produces optimised code that runs as fast as the underlying hardware will allow, equalling the performance of C++ or assembly language programs without sacrificing memory safety. Control. To get the most out of modern CPUs, programmers need to get “close to the metal”, and Rust offers low-level control and excellent interoperability with C/C++ libraries. Go is an ideal language when the situation demands:
🌐
Programming Language Benchmarks
programming-language-benchmarks.vercel.app › rust-vs-go
Rust VS Go benchmarks, Which programming language or compiler is faster
Current benchmark data was generated on Fri Aug 01 2025, full log can be found HERE · CONTRIBUTIONS are WELCOME
🌐
Clockwise
getclockwise.com › home › blog › go (golang) vs. rust: performance comparison
Go (Golang) vs. Rust: Performance Comparison | Clockwise
March 4, 2021 - Both Go and Rust have excellent built-in, high-performance standard build and dependency management tools. Rust will almost always beat Go in run-time benchmarks due to its fine-grained control over how threads behave and how resources are shared ...
🌐
Medium
medium.com › @shyamsundarb › c-vs-rust-vs-go-a-performance-benchmarking-in-kubernetes-c303b67b84b5
C# vs Rust vs Go. A performance benchmarking in Kubernetes | by B Shyam Sundar | Medium
February 19, 2023 - From this benchmark, we are able to understand that Rust has consistent performance and is almost always faster than C# and Go. But that is to be expected as Rust runs on the metal. Between C# and Go the performance seems to be nuanced.
🌐
Tech Insider
tech-insider.org › home › software › rust vs go 2026: the definitive programming language comparison
Rust vs Go [2026]: 1 Clear Winner After 7 Tests - Tech Insider
1 week ago - In a Fibonacci benchmark on AMD EPYC processors, Rust completed in approximately 22 milliseconds versus Go’s 39 milliseconds — a 77% speed advantage. For computation-heavy workloads, Rust’s lack of garbage collection and zero-cost abstractions ...