News for hackers. Stuff that matters.
Re:Rust 1.37.0 by jnordwick on Thursday August 15, 2019 @01:46PM (#20707662)
Async+Await+Futures isn't needed at all, performs worse than a basic epoll loop, is more confusing, and less able to handle complex flow. But they add a lot of complexity. The futures paragidm makes the hard stuff almost impossible to do efficiently.

It took c++ years to blow its complexity budge. Rust, "Hold my beer."

Re:Rust 1.37.0 by staticassertion on Thursday August 15, 2019 @01:54PM (#20707749)
> Async+Await+Futures isn't needed at all

Define "needed" ? Code with async/await is radically simpler compared to without - this is not just basic sugar but really, really important due to rust's borrow semantics There is code I have written that required Rc/RefCell ceremony to get around the borrowchecker that will be completely handled by async/await.

You can read more about this here:

https://aturon.github.io/tech/2018/04/24/async-borrowing/

> performs worse than a basic epoll loop

There are open issues and afaik all of these are solvable problems with known/ theorized solutions.

> is more confusing, and less able to handle complex flow

Sorry, that's absolutely just not the case Even if "confusing" is subjective, you can not tell me that writing complex loops/ control flow is easier in futures than in async/await. Just look at the examples here:

https://docs.rs/dtolnay/0.0.4/dtolnay/macro._01__await_a_min...

Re:Rust 1.37.0 by woah on Thursday August 15, 2019 @09:02PM (#20711242)
There are programmers who mostly work on code that does a lot of work with the CPU, and needs to be multi core. For these applications, async/await has little to offer.

People who are puzzled by async/await often fall into this camp.

Re:Rust 1.37.0 by staticassertion on Friday August 16, 2019 @04:11PM (#20719229)
Why would they not just use threads?
Re:Rust 1.37.0 by jen20 on Friday August 16, 2019 @06:09AM (#20713658)
Async and await solve a different problem to epoll (and do so in a cross-platform manner). A “basic epoll loop” won’t help you for file IO on Linux, for example.