My experience with C++ 20 coroutines

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • coros

    TCP server using C++ 20 Coroutines

  • I tried to create a simple TCP server framework that uses coroutines. So, how it works is that when a read/write operation on a TCP socket blocks, the coroutine gets suspended. The underlying thread that is running the coroutine is then free to run other tasks, so this enables for concurrency with relatively few threads.

  • cppcoro

    A library of C++ coroutine abstractions for the coroutines TS (by andreasbuhr)

  • coroutines as they exist are a lower level construct which is vastly better with a higher level library to make it usable for programmers. One such library is cppcoro but at some stage we'll see an equivalent in the standard library.

  • 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
  • crasy

    C++20 coroutine based async I/O library

  • If you're curious, here is the half-baked, unfinished, and uncommented repo: https://github.com/Vociferix/crasy

  • cppcoro

    A library of C++ coroutine abstractions for the coroutines TS

  • macoro

  • See, this is what my cpp14 library does and is compatible with cpp20 coroutines https://github.com/ladnir/macoro

  • Boost.Asio

    Asio C++ Library

  • Yes: https://github.com/chriskohlhoff/asio/blob/master/asio/include/asio/coroutine.hpp

  • YACLib

    Yet Another Concurrency Library

  • Try https://github.com/YACLib/YACLib It works with coroutines on most possible platforms and tested very well Also contains very effective synchronization primitives

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
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