6 ms·
I see now, I misunderstood your original post. You were saying async/await is necessary because futures work badly, not because all the alternatives (i.e. locks
by btrask 6y ago
I see now, I misunderstood your original post. You were saying async/await is necessary because futures work badly, not because all the alternatives (i.e. locks) work badly.
Sorry, my mistake!
Edit to add: futures work badly in every language, so there's no shame in the borrow checker not working with them.
Edit 2: But in that case we're back to "why would Rust want async/await over (potentially green) threads with its first-class support for locks?"
- steveklabnik 6y agoRegarding your edit 2, I linked two talks I have that go over this in great detail elsewhere in this thread.
- dwoot 6y agoI believe these are the talks from Steve that he's referring to. It was enlightening for me: 1. Rust's Journey to Async/Await - https://www.youtube.com/watch?v=lJ3NC-R3gSI https://www.youtube.com/watch?v=lJ3NC-R3gSI 2. The Talk You've been Await-ing for - https://www.youtube.com/watch?v=NNwK5ZPAJCk https://www.youtube.com/watch?v=NNwK5ZPAJCk The first video goes into all the bits you're concerned about and all the things that Rust has tried before arriving where they are now
- ragnese 6y agoLanguage support for green threads require a heavier runtime (so you'd pay the performance cost even when you didn't write async code). Tokio basically is green threads as a library.