rotor
libev
Our great sponsors
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.
rotor
-
OpenMP on heterogenous CPUs
If your architecture fits into inter-process messaging, i.e. spawn threads which do similar or different tasks and inform each other via messages, try to use actor framework, i.e. rotor (disclaimer: I'm the author). If there is a need to expand messaging even more, i.e. across the network, you can try to use caf, which provides that facility out of the box.
-
Multiplayer, multithreading, and an actor model in C++
What you achieved, is handlers decoupling, i.e. when one handler knows nothing about other handler, which leads to good application testability. However, with standard promise/future bases messaging, if performance matters (and it usually does, otherwise why use C++?), i doubt that your implementation overwhelms the performance of specialized actor libraries, like sobjectizer ("batteries included" actors toolbox) or rotor (DIY-like actor constructor set; disclaimer: I'm the author of it).
- C++ Show and Tell - July 2022
-
Embedded Linux libraries/frameworks
I have been reading the documents from Boost.fibre and Boost.Signals2 which I could use, maybe ASIO for async. I also checked ZeroMQ (this seems to be more or less "only" for networking), Copper and Rotor. If this were just a simple MCU project I would just take the FreeRTOS and would have everything I need. Now I'm just lost how to structure my code / how to realize my main loop.
-
rotor, Erlang-inpired C++ microframework with supervising capabilities
I would like to present my project rotor, which is event loop friendly C++ actor micro framework with Erlang-like microframework with supervising capabilities.
-
What are some candidate libraries for inter-thread communication like message boxes or event systems?
rotor actor library (I'm the author) was designed to solve similar problem, which I named "actor intrusiveness", when almost every piece of code should be written in form of actor, and, the working threads, which spin actors, are out of your control.
-
Light Actor Concurrency Framework for C++
PS. I'm the author of rotor framework )
-
Sender and Receiver implementations
May be actor frameworks like caf, sobjectizer or rotor is something, that you are looking for.
libev
-
Polyphony: Fine-Grained Concurrency for Ruby
Thank you for this.
I am interested in how concurrency can be represented elegantly and efficiently, so I am interested in how libraries can simplify async and make it easier to reason about and write
The libev and ioring support is great for IO scalability (https://github.com/enki/libev not sure if this is the official repo)
In Python I use the "select" module and use epoll on Linux.
I am currently thinking of designing an API that allows the registration of epoll-like listeners to arbitrary objects, including business objects, so you can efficiently register a listener on multiple behaviours of multiple arbitrary objects.
I wrote an async/await simulation in Java and my scheduler is really simple, it's just a for loop that checks to see if there are any tasks that can progress. I notice the switch_fiber in polyphony must do something similar. This is similar to a yield in a coroutine.
My async/await simulation takes the following program:
task1:
- Ship it!
-
C in Web Dev
Also, libev
-
Ideas, thoughts, and notes on an action based polymorphism pattern for C
It's done even now. See ev.h where they do this. Just that you disable GCC's aliasing warning. There's a reason why restrict and aliasing became important to deal with. It wasn't standards that killed it.
What are some alternatives?
C++ Actor Framework - An Open Source Implementation of the Actor Model in C++
libuv - Cross-platform asynchronous I/O
Boost.Asio - Asio C++ Library
libevent - Event notification library
Dasynq - Thread-safe cross-platform event loop library in C++
uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
asyncio - asyncio is a c++20 library to write concurrent code using the async/await syntax.
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.