Comment by amelius
1 year ago
Yes, async is easier, but granularity of performance is a real downside. The CPU is a resource too, and needs to be managed more carefully than async can do. There's a reason why people stopped using cooperative multitasking like in Windows 3.1 ...
Sure, but that’s not really an argument for or against async but for or against different runtime policies.
What good are "runtime policies" if you're in a single thread that you can't interrupt (which is what async is)?
Async is not really that in Rust. While it's true that a singular poll cannot be preempted, things like task::spawn schedule that on a multi threaded executor. So a lot of cases behave just like threads except you await them from somewhere else.