news.volyx.in

Async Rust never left the MVP state (tweedegolf.nl)

446 points by pjmlp · 117 days ago · 266 comments on HN

Article summary

The article discusses the current state of async Rust, highlighting its limitations and potential optimizations. The author argues that async Rust has not seen significant improvements since its initial release and proposes several optimizations to reduce binary size and improve performance. The optimizations include changing the behavior of the Returned state, eliminating state machines for async blocks without awaits, and inlining futures. These changes aim to make async Rust more efficient, especially in constrained environments like embedded systems.

Main themes

  • Async Rust optimizations
  • Language design trade-offs
  • Concurrency and parallelism
  • Performance and efficiency
  • Embedded systems and resource constraints
  • Rust language development and community

What commenters say

  • The title of the article is misleading and overly dramatic, as async Rust is not in a minimum viable product state.
  • The optimizations proposed in the article are important for improving the performance and efficiency of async Rust, especially in resource-constrained environments.
  • The async versus sync distinction is a fundamental division in computer science and cannot be meaningfully dissolved at the programmer level.
  • Rust's async implementation is well-designed and works well for many use cases, but may require additional improvements to reach its full potential.
  • The lack of progress on async Rust is due to the original team becoming less active, and new contributors are needed to drive further development.
  • Some commenters disagree with the article's characterization of async Rust as an MVP, arguing that it has been sufficient for many adopters and use cases.
  • The article's proposed optimizations may have significant benefits, but may also introduce new complexities and trade-offs that need to be carefully considered.
  • The choice of syntax for async/await in Rust was a deliberate design decision, and while it may have its drawbacks, it has proven to be effective in practice.