C++ Concurrency

Open-source C++ projects categorized as Concurrency

Top 23 C++ Concurrency Projects

  • Swoole

    🚀 Coroutine-based concurrency library for PHP

    Project mention: Go with PHP (why it's still a good idea to use PHP in 2023) | reddit.com/r/PHP | 2023-05-11

    It's a management UI where concerns were raised that it downloads from third party server. However this issue was handled very fast and code was removed: https://github.com/swoole/swoole-src/issues/4434

  • ZeroMQ

    ZeroMQ core engine in C++, implements ZMTP/3.1

    Project mention: need xbps-src help | reddit.com/r/voidlinux | 2023-01-02

    -- Using src='https://github.com/zeromq/libzmq/releases/download/v4.3.4/zeromq-4.3.4.tar.gz'

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • Taskflow

    A General-purpose Parallel and Heterogeneous Task Programming System

    Project mention: Taskflow: A General-Purpose Parallel and Heterogeneous Task Programming System | news.ycombinator.com | 2023-05-07
  • moodycamel

    A fast multi-producer, multi-consumer lock-free concurrent queue for C++11

    Project mention: Professional Usernames | reddit.com/r/learnprogramming | 2022-08-05

    Other than that... if your stuff is good, that's a much better signal than a professional username. I've seen a lot of decently unprofessional usernames out there that get taken pretty seriously because of the good work behind them. My recent favorite is "moodycamel" who authored a great concurrent queue library in C++.

  • Thrust

    The C++ parallel algorithms library.

    Project mention: Parallel Computations in C++: Where Do I Begin? | reddit.com/r/learnprogramming | 2022-09-23

    For a higher level GPU interface, Thrust provides "standard library"-like functions that run in parallel on the GPU (Nvidia only)

  • ArrayFire

    ArrayFire: a general purpose GPU library.

    Project mention: Learn WebGPU | news.ycombinator.com | 2023-04-27

    Loads of people have stated why easy GPU interfaces are difficult to create, but we solve many difficult things all the time.

    Ultimately I think CPUs are just satisfactory for the vast vast majority of workloads. Servers rarely come with any GPUs to speak of. The ecosystem around GPUs is unattractive. CPUs have SIMD instructions that can help. There are so many reasons not to use GPUs. By the time anyone seriously considers using GPUs they're, in my imagination, typically seriously starved for performance, and looking to control as much of the execution details as possible. GPU programmers don't want an automagic solution.

    So I think the demand for easy GPU interfaces is just very weak, and therefore no effort has taken off. The amount of work needed to make it as easy to use as CPUs is massive, and the only reason anyone would even attempt to take this on is to lock you in to expensive hardware (see CUDA).

    For a practical suggestion, have you taken a look at https://arrayfire.com/ ? It can run on both CUDA and OpenCL, and it has C++, Rust and Python bindings.

  • readerwriterqueue

    A fast single-producer, single-consumer lock-free queue for C++

    Project mention: MPMC suggestions where messages are sent to all consumers ? | reddit.com/r/cpp | 2023-03-18

    I have looked at the commonly recommended - https://github.com/cameron314/readerwriterqueue - https://github.com/rigtorp/MPMCQueue

  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • C++ Actor Framework

    An Open Source Implementation of the Actor Model in C++

  • libcds

    A C++ library of Concurrent Data Structures

  • HPX

    The C++ Standard Library for Parallelism and Concurrency

    Project mention: Looking for projects to contribute to | reddit.com/r/cpp | 2023-04-25
  • NCCL

    Optimized primitives for collective multi-GPU communication

  • parallel-hashmap

    A family of header-only, very fast and memory-friendly hashmap and btree containers.

    Project mention: My own Concurrent Hash Map picks | reddit.com/r/cpp | 2022-11-27

    Cool! Looking forward to you trying my phmap - and please let me know if you have any question.

  • concurrencpp

    Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all

    Project mention: concurrencpp version 0.1.6 has been released! | reddit.com/r/cpp | 2023-03-21
  • moderngpu

    Patterns and behaviors for GPU computing

  • Boost.Compute

    A C++ GPU Computing Library for OpenCL

  • thread-pool

    BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library

    Project mention: Learn performance improvement | reddit.com/r/cpp_questions | 2023-03-22
  • junction

    Concurrent data structures in C++

  • C++React

    C++React: A reactive programming library for C++11.

  • stdgpu

    stdgpu: Efficient STL-like Data Structures on the GPU

  • CacheLib

    Pluggable in-process caching engine to build and scale high performance services

    Project mention: Pelikan, Twitter‘s framework for building caches | news.ycombinator.com | 2022-10-01

    Would like to see a comparison between this and Facebook's Cachelib:

    https://github.com/facebook/CacheLib

  • RaftLib

    The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators

  • MPMCQueue.h

    A bounded multi-producer multi-consumer concurrent queue written in C++11

    Project mention: MPMC suggestions where messages are sent to all consumers ? | reddit.com/r/cpp | 2023-03-18

    I have looked at the commonly recommended - https://github.com/cameron314/readerwriterqueue - https://github.com/rigtorp/MPMCQueue

  • continuable

    C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)

    Project mention: SAF, a scheduler aware future/promise (in the Asio ecosystem) | reddit.com/r/cpp | 2022-12-21

    cool. how does this compare to https://naios.github.io/continuable/ ?

  • ONLYOFFICE

    ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-05-11.

C++ Concurrency related posts

Index

What are some of the best open-source Concurrency projects in C++? This list will help you:

Project Stars
1 Swoole 17,859
2 ZeroMQ 8,521
3 Taskflow 8,286
4 moodycamel 7,822
5 Thrust 4,545
6 ArrayFire 4,145
7 readerwriterqueue 3,046
8 C++ Actor Framework 2,949
9 libcds 2,322
10 HPX 2,192
11 NCCL 2,187
12 parallel-hashmap 1,928
13 concurrencpp 1,493
14 moderngpu 1,459
15 Boost.Compute 1,411
16 thread-pool 1,396
17 junction 1,301
18 C++React 975
19 stdgpu 913
20 CacheLib 880
21 RaftLib 867
22 MPMCQueue.h 861
23 continuable 803
ONLYOFFICE Docs — document collaboration in your environment
Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
www.onlyoffice.com