stdexec
`std::execution`, the proposed C++ framework for asynchronous and parallel programming. (by NVIDIA)
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all (by David-Haim)
stdexec | concurrencpp | |
---|---|---|
8 | 16 | |
1,264 | 2,067 | |
5.0% | - | |
9.6 | 1.2 | |
7 days ago | 2 days ago | |
C++ | C++ | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stdexec
Posts with mentions or reviews of stdexec.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-22.
-
How to write networking code now that will be easiest to adapt to the upcoming standard?
I searched for more information, and here are some relevant links, in case anybody else is interested: * https://www.reddit.com/r/cpp/comments/zdogz9/new_c_sender_library_enables_portable_asynchrony/ * https://github.com/nvidia/stdexec * https://www.reddit.com/r/cpp/comments/10b76e3/stdexecution_from_the_metal_up_paul_bendixen/ * https://www.reddit.com/r/cpp/comments/st9bjm/p2300_senderreceiver_is_dead_in_the_water_for_c23/
- concurrencpp version 0.1.6 has been released!
-
Customization Function Objects - Status?
The last direct news about the status of P2547R1 that I'm aware of was with the Soursop and Ponies in Kona blogpost in November 22. r/cpp looks to not have discussed CPOs directly when the post was linked. Indirectly, this Github issue hints that there is a strong possibility of no language alternative available by C++26.
-
Are Boost.coroutine2 coroutines still relevant now we have c++20 coroutines ?
Coroutine task types and other awaitables are well supported by the P2300 std::execution proposal. Take a look at https://github.com/NVIDIA/stdexec Coroutines in general are good at suspension and resumption, but they need a place to run and something to resume them. That's what the sender/receiver framework provides.
-
STUDY Buddy - C++ | Accelerated Computing
Looking for a Study Partner (for SERIOUS learning), in the fields of Robotics | Accelerated Computing.I am studying Electrical Engineering (5 out of 7 semesters) and live in Germany. But yeah, College sucks and I mostly use online resources like NVIDIA's DLI, Coursera, edX, Educative and O'Reilly. [I really don't understand how these aren't the new Universities/Colleges. All I know I learned either from there or Youtube, Udemy or Books. College is actually what is slowing me down. It's such a waste of my time and resources. I asked ONE thing from them, and still, that was too much. They didn't do it.Anyway...I am currently going through/finally sorting out some Data Structures and Algorithms stuff (specially Graphs) and my plans/next goals are 1 - Go through C++'s P2300 Proposal and try to understand it along with NVIDIA's stdexec implementation, 2 - Take NVIDIA's CUDA C++ Course, 3 - Get started with Computer Vision [probably using NVIDIA again haha, along with OpenCV)
-
New C++ Sender Library Enables Portable Asynchrony
Libunifex inspired P2300, but the design of P2300 has evolved since then and libunifex has not kept pace. stdexec is a faithful and up-to-date implementation of P2300. It also adds GPU support and a small number of schedulers and utilities not in P2300.
-
P2300 (Sender/Receiver) is DEAD in the water for C++23 !!!
It is on Github, btw: https://github.com/brycelelbach/wg21_p2300_std_execution
-
Asynchronous Stacks and Scopes
I can't really argue that composing algorithms either using function call or pipe syntax is more readable than coroutines. I'll say this: right now P2300 is missing some discussion of how senders can be made trivially awaitable in a coroutine (and awaitables are senders by definition). If coroutines are your preferred syntax, sender/receiver is still a sound basis. Those parts of P2300 are currently under code review. You can find the PRs here.
concurrencpp
Posts with mentions or reviews of concurrencpp.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-12-05.
-
Is anyone using coroutines seriously?
I am using concurrencpp for my project. What I like about it is that it's basically a thread pool factory with coroutines. It allows for better structuring / organizing of multithreaded work. So for me the main advantage of coroutines is that the code looks easier to follow
- Concurrencpp – a C++20 library for coroutines and executors
-
Comparing asio to unifex
Equivalent concurrencpp code:
-
Do you think the current asynchronous models (executors, senders) are too complicated and really we just need channels and coroutines running on a thread pool?
I agree. I use concurrencpp for the exact use case you described - coroutines running on simple-to-understand-executors which return some asynchronous pipe for communication.
- concurrencpp version 0.1.6 has been released!
-
What happens if you co_await a std::future, and why is it a bad idea? - The Old New Thing
If you look at concurrencpp, you can control exactly where and how coroutines are resumed, using executors.
-
Collecting the best C++ practices
concurrencpp. Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all.
-
C++ Coroutines from scratch - Phil Nash - Meeting C++ 2022
Just use a good third party library like concurrencpp .
-
Header-only C++14 quality thread pool
Hi, I am looking for a header-only C++14 (or lower) quality thread pool. Ideally, it would be similar to BS::thread_pool but in C++14. Most of them I find on GitHub are bloated (e.g. concurrencpp) or have many open Issues. Ideal usage would be similar to:
-
Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
I use concurrencpp for my asynchronous code and the repo is written in modern cpp, with tests, sanitizers and what not.
What are some alternatives?
When comparing stdexec and concurrencpp you can also consider the following projects:
Boost.Asio - Asio C++ Library
libunifex - Unified Executors