Hacker News new | ask | show | jobs
by AndrewGaspar 1232 days ago
I think async concurrent code is just much easier to reason about, regardless of threading. Also, for intra-request concurrency (e.g. i need to grab data from N different sources to complete this request), it's much easier to arrange for that work to be done concurrently. Also easier to implement highly responsive applications with async vs. threading.
1 comments

There is an alternative here with coroutines. There is no fundamental reason to take on the function coloring problem.

If one was to benchmark cpp coroutines vs rust async would the performance difference ever pay off?

C++ coroutines[0] are also "function coloring", unless I'm missing something?

[0] https://en.cppreference.com/w/cpp/language/coroutines

Rust async functions are basically coroutines that suspend when you use await. Except that you can't return intermediate results (although once Generators are stabilized, that should resolve that use case).