qcoro
concurrencpp
qcoro | concurrencpp | |
---|---|---|
6 | 16 | |
290 | 2,058 | |
- | - | |
7.8 | 1.2 | |
13 days ago | 8 days ago | |
C++ | C++ | |
MIT License | MIT License |
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.
qcoro
- Asynchronous Clean-Up (in Rust)
-
Is anyone using coroutines seriously?
Yes, with boost.asio and with a self written Qt Networking Coroutine Library like QCoro.
-
Qt Creator 10 Released
You're not completely wrong, but I think this overstating things by a lot. I'll grant you the containers for example, but you can generally use STL algorithms with them. And plenty of old ways of doing things have left modern Qt-based codebases and moved to more modern ways of doing things, including a fair amount of moc macro usage (and yes, you can remove the moc these days, but it has different perf characteristics - cf. the verdigris project).
The community around Qt is pretty active at adopting modern C++, e.g. imho https://github.com/danvratil/qcoro is leading work.
-
C++20 coroutines explained simply
I though that with the meager support for coroutines that C++ 20 has, it would take ages till I could use that in Qt, but I discovered that it's actually quite nice with QCoro, which is a 3rd part library that is able to leverage coroutines in Qt's event loop with just an add on. I thought it would require extra facilities in the language/library, plus some large patch to Qt to have the first support of them.
-
What is the standard for writing network & database code in C++?
If you want to use coroutines with Qt, QCoro yends to work well: https://qcoro.dvratil.cz/
-
Support for co_await in Qt?
Have a look at https://github.com/danvratil/qcoro
concurrencpp
-
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?
asiochan - Go-like channels for ASIO C++20 coroutines
libunifex - Unified Executors
QDeferred - Qt C++ alternative for handling async code execution
asio-grpc - Asynchronous gRPC with Asio/unified executors
LibreMines - A Free/Libre and Open Source Software Qt based Minesweeper game available for GNU/Linux, FreeBSD and Windows systems.
sobjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
Heimer - Heimer is a simple cross-platform mind map, diagram, and note-taking tool written in Qt.
PhotonLibOS - Probably the fastest coroutine lib in the world!
Bouncy-squares-Qt - Desktop application where rectangles move diagonally on the screen and collide
coost - A tiny boost library in C++11.
mysql - MySQL C++ client based on Boost.Asio
ue5coro - A gameplay-focused C++17/20 coroutine implementation for Unreal Engine 5.