“Goroutines are supposed to be very lightweight, but they actually consumed more than 50% of RAM required by Rust threads.”
Kołaczkowski launched up to a million idle tasks in Rust, Go, Java, C#, Python, Node.js and Elixir. At 10k, plain Linux threads from Rust beat the idle footprint of most runtimes. At a million, Go lost to the winner by over 12x and Elixir hit a system limit on defaults. Go sold goroutines as cheap. Rust’s tokio was cheaper.