Comment by nottorp
4 hours ago
Yay, first article (for me!) that i actually click on because the title is interesting, and then it puts me off because it's LLM generated.
By the way, what does Rust have to do with their problem? Is Rust simply bad at io_uring? :)
We had a similar experience in Polars trying to use io_uring.
Rust isn't inherently bad at io_uring but at least Tokio currently is. I'm not the one who implemented and benchmarked it so this is second-hand information but if I recall correctly Tokio shares one buffer pool for all threads so as you scale to 100+ threads the whole thing grinds to a halt.
Migrating our I/O to a different async runtime than Tokio was rejected. So we'll wait until it's fixed in Tokio and now use regular blocking reads instead.
Rust is just the language they happened to be working in. If you read through the LLM generated garbage it becomes clear that io_uring isnt the problem, their code was just slop / bad.
That was hinted at in the summary for part 2, which i couldn't bring myself to click on.
But my interpretation is still more fun!
...given article being LLM slop their code probably also was