SaaSHub helps you find the best software and product alternatives Learn more →
Top 8 C++ Threadpool Projects
-
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
-
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.
-
envpool
C++-based high-performance parallel environment execution engine (vectorized env) for general RL environments.
-
libfork
A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
CommonPP
Small library helping you with basic stuff like getting metrics out of your code, thread naming, etc.
Project mention: The Way We Are Building Event-Driven Applications Is Misguided | news.ycombinator.com | 2024-05-28> The set-theory approach is hard to do, but promising. Each object that wants something has a small set of the things it wants. There's a big pool of such sets. There's also a big pool of the items you have, which changes constantly. It's easy to express what you need to fetch and which objects are now ready to go as set intersection and difference operations. But you need representations for big sparse sets which can do set operations fast. Probably B-trees, or something in that space.
Incremental updates to dynamic dependency graphs is a familiar problem for build tooling. I personally have used the taskflow C++ library (https://github.com/taskflow/taskflow) to great effect.
> Microsoft Research fooled around with this concept years ago in a different context. The idea was to have a database which supported pending SQL queries. The query would return new results when the database changed such that the results of the query changed. The goal was to to support that for millions of pending queries. Financial traders would love to have that. It's a very hard scaling problem. Don't know how that came out.
Incremental view maintenance is an active area of research. The likes of Noria and Materialize have done this with SQL, and the pg_ivm Postgres extension looks promising. Not sure if there is an equivalent implementation geared towards entity-component systems, though.
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
Project mention: How do I improve my SB3 PPO on an EnvPool environment | /r/reinforcementlearning | 2023-09-21I am looking to improve the overall performance as well as optimize the wall clock time. I slightly modified the code to develop a SB3 wrapper for envpool from here.
I just released version 0.6.0 of my C++20 thread_pool library.
C++ Threadpool related posts
-
The Way We Are Building Event-Driven Applications Is Misguided
-
Improvements of Clojure in his time
-
Taskflow: A General-Purpose Parallel and Heterogeneous Task Programming System
-
How to go from intermediate to advance in C++?
-
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
-
gcl v1.1 released - Graph Concurrent Library for C++
-
A note from our sponsor - SaaSHub
www.saashub.com | 2 Jun 2024
Index
What are some of the best open-source Threadpool projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Taskflow | 9,649 |
2 | concurrencpp | 2,106 |
3 | thread-pool | 1,974 |
4 | envpool | 1,033 |
5 | libfork | 507 |
6 | thread-pool | 378 |
7 | Threadpool | 87 |
8 | CommonPP | 32 |
Sponsored