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. Learn more ā
Top 23 C++ Multithreading Projects
-
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.
-
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
-
enkiTS
A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
ultimatepp
U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).
-
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.
-
areg-sdk
AREG is an asynchronous Object RPC framework to simplify multitasking programming by blurring borders between processes and treating remote objects as if they coexist in the same thread.
-
ConcurrentDeque
Fast, generalized, implementation of the Chase-Lev lock-free work-stealing deque for C++17
-
EmbeddedMqttBroker
This is a Mqtt broker for embedded devices, developed in C++, FreeRTOS to use advanced multitasking capabilities, and arduino core. Tested in an Esp32 and esp8266.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
For parallel programming nowadays, personally I reach for C++ Taskflow when I really care about performance, or a mix of core.async and running multiple load balanced instances when Iām doing more traditional web backend stuff in Clojure.
Project mention: A list of JavaScript engines, runtimes, interpreters | /r/learnjavascript | 2023-12-10Napa.js
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
If you're open to using a task scheduler library, and want something lighter weight than the alternatives, my permissively licensed C and C++ Task Scheduler for creating parallel programs enkiTS would be a good fit for this.
Project mention: Nebula is an open-source and free-to-use modern C++ game engine | news.ycombinator.com | 2024-01-09
Project mention: Ask HN: What are some unpopular technologies you wish people knew more about? | news.ycombinator.com | 2023-12-02
Message Delivery Tracing aims to debug an application built on top of SObjectizer. In essence, it logs the primary stages of the message delivery process, allowing visibility into whether there is a suitable subscriber with the corresponding event handler.
Project mention: Portable and vendor neutral parallel programming on heterogeneous platforms | news.ycombinator.com | 2024-04-11
Project mention: Essentials of Object Oriented and Functional Programming: A Guide to Modular Code | dev.to | 2023-07-27FP Libraries: gRPC, ZeroMQ, and AREG are examples of libraries with a special focus on providing possibilities for Interprocess Communication. Developed using C++, they facilitate communication through predefined APIs, emphasizing functional programming concepts.
Project mention: Ugrep ā a more powerful, ultra fast, user-friendly, compatible grep | news.ycombinator.com | 2023-12-30Another issue with Hyperscan is that if you enable HS_FLAG_UTF8[1], which hypergrep does[2,3], and then search invalid UTF-8, then the result is UB.
> This flag instructs Hyperscan to treat the pattern as a sequence of UTF-8 characters. The results of scanning invalid UTF-8 sequences with a Hyperscan library that has been compiled with one or more patterns using this flag are undefined.
That's another issue you'll need to grapple with if you use Hyperscan. PCRE2 used to have this issue[4], but they've since defined the semantics of searching invalid UTF-8 with Unicode mode enabled. ripgrep 14 uses that new mode, but I haven't updated that FAQ answer yet.
[1]: https://intel.github.io/hyperscan/dev-reference/api_files.ht...
[2]: https://github.com/p-ranav/hypergrep/blob/ee85b713aa84e0050a...
[3]: https://github.com/p-ranav/hypergrep/blob/ee85b713aa84e0050a...
[4]: https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#why...
Project mention: Huge LibRapid Update -- New Features, Performance Improvements and Bug Fixes | /r/cpp | 2023-08-04In addition to all of these changes, I used LibRapid and Surge to write a simple Flappy Bird genetic AI as a proof of concept. The code runs well on all platforms and can simulate over 20,000 birds without too much trouble. If you want to check it out, here's the GitHub page: https://github.com/Pencilcaseman/FlappyBirdAI
Project mention: New scalable, fault-tolerant, and efficient open-source MQTT broker | news.ycombinator.com | 2023-12-18
C++ Multithreading related posts
-
Dynamic LoDs in Bonsai
-
Voxel Synthesis :: Testing a more complex tileset
-
MutexProtected: A C++ Pattern for Easier Concurrency
-
Using shared_ptr for reloadable config
-
Learn performance improvement
-
How do i make the main thread sleep while worker threads work and worker threads sleep when waiting for main thread to execute them
-
Ban thread locking classes/functions?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 10 May 2024
Index
What are some of the best open-source Multithreading projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Taskflow | 9,588 |
2 | napajs | 9,238 |
3 | concurrencpp | 2,067 |
4 | thread-pool | 1,948 |
5 | enkiTS | 1,627 |
6 | react-native-multithreading | 1,102 |
7 | nebula | 856 |
8 | ultimatepp | 738 |
9 | sobjectizer | 460 |
10 | react-native-worklets-core | 455 |
11 | occa | 379 |
12 | areg-sdk | 242 |
13 | cs_libguarded | 218 |
14 | hypergrep | 163 |
15 | CPURasterizer | 155 |
16 | librapid | 153 |
17 | ConcurrentDeque | 135 |
18 | coop | 97 |
19 | SObjectizer | 88 |
20 | TDP | 87 |
21 | EmbeddedMqttBroker | 62 |
22 | yapp | 58 |
23 | libbase | 48 |
Sponsored