The State of Async Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • rust

    Empowering everyone to build reliable and efficient software.

  • async traits are in the process of being stabilized: https://github.com/rust-lang/rust/pull/115822

    Also, impl trait projections (ability to use Self::Foo associated types in async functions in traits): https://github.com/rust-lang/rust/pull/115659

  • website

    Website for the Tokio project (by tokio-rs)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • AspNetCoreDiagnosticScenarios

    This repository has examples of broken patterns in ASP.NET Core applications

  • No it doesn't, hence why there are best practices guidelines written by the .NET architects, and there was a research project to add Go/Java co-routines as well.

    https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/b...

    https://twitter.com/davidfowl/status/1532880744732758018?lan...

    https://github.com/dotnet/runtimelab/issues/2057

    https://github.com/dotnet/runtimelab/issues/2398

  • runtimelab

    This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo. (by davidwrighton)

  • Yes it does. Those best practices are very easy to follow and are enforced by analyzers. I have never encountered those issues on a recent big project I worked on, although they were common in the past when async was new. Also the green threads research concluded that it's not worth adding it to NET:

    https://github.com/davidwrighton/runtimelab/blob/report/docs...

  • telepathy-qt

    Telepathy Qt bindings

  • smol

    A small and fast async runtime for Rust

  • My understanding is you always need a runtime, somethings needs to drive the async flow. But there are others on the market, just not without the.. market domination... of tokio.

    https://github.com/smol-rs/smol looks promising simply for being minimal

    https://github.com/bytedance/monoio looks potentially easier to work with than tokio

    https://github.com/DataDog/glommio is built around linux io_uring and seems somewhat promising for performance reasons.

    I haven't played with any of these yet, because Tokio is unfortunately the path of least resistance. And a bit viral in how it's infected tings.

  • monoio

    Rust async runtime based on io-uring.

  • My understanding is you always need a runtime, somethings needs to drive the async flow. But there are others on the market, just not without the.. market domination... of tokio.

    https://github.com/smol-rs/smol looks promising simply for being minimal

    https://github.com/bytedance/monoio looks potentially easier to work with than tokio

    https://github.com/DataDog/glommio is built around linux io_uring and seems somewhat promising for performance reasons.

    I haven't played with any of these yet, because Tokio is unfortunately the path of least resistance. And a bit viral in how it's infected tings.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • glommio

    Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.

  • My understanding is you always need a runtime, somethings needs to drive the async flow. But there are others on the market, just not without the.. market domination... of tokio.

    https://github.com/smol-rs/smol looks promising simply for being minimal

    https://github.com/bytedance/monoio looks potentially easier to work with than tokio

    https://github.com/DataDog/glommio is built around linux io_uring and seems somewhat promising for performance reasons.

    I haven't played with any of these yet, because Tokio is unfortunately the path of least resistance. And a bit viral in how it's infected tings.

  • embassy

    Modern embedded framework, using Rust and async.

  • > not good for embedded

    embassy begs to differ

    https://embassy.dev/

    async/await is really just a syntax for building state machines in a way that resembles regular code. It's compiled down to the same code that you would write by hand anyway (early on it had some bloat in state size but I think it's all fixed now).

    And embedded has a lot of state machines!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Asynchronous Clean-Up (in Rust)

    5 projects | news.ycombinator.com | 25 Feb 2024
  • Why Async Rust?

    3 projects | news.ycombinator.com | 15 Oct 2023
  • Glibc Dynamic Loader Hit by a Nasty Local Privilege Escalation Vulnerability

    4 projects | news.ycombinator.com | 3 Oct 2023
  • How much reason is there to be multi-threaded in the k8s environment

    2 projects | /r/scala | 4 Jul 2023
  • Why does Actix-web's handler not require Send?

    3 projects | /r/rust | 18 Jun 2023