Ivan Baidakou ade4ce9198 fix typos | 2 lat temu | |
---|---|---|
docs | 2 lat temu | |
examples | 2 lat temu | |
include | 2 lat temu | |
src | 2 lat temu | |
tests | 2 lat temu | |
CMakeLists.txt | 2 lat temu | |
LICENSE | 2 lat temu | |
README.md | 2 lat temu |
rotor-light
is real-time platform-neutral, C++ actor micro-framework for
embedded systems with supervising capabilities.
rotor-light
is built with the concurrency in the mind, i.e. independent
entities (actors) interact each other via messages.
rotor-light
is adoption of rotor
framework for embedded systems. The framework has no platform-dependent
code, so, it can, however, be used as is on host system, if you cautiously
care about thread-safety.
erlang-like hierarchical supervisors
asynchronous messaging with priorities
plaform-agnostic code (including timers)
C++17
no thread-safety
no allocations, no exceptions, no RTTI
non-intrusiveness
compile-time actor hierarchies
messages/second | binary size | |
---|---|---|
host (1) | ~55.3M | 13143 bytes |
STM32-H743ZI | ~2.3M | 14330 bytes |
Arduino Uno R3 (2) | ~15.8K | 6546 bytes |
xilinx microblaze (3) | ~58.8K | 42868 byes |
All examples can be measured with examples/ping-pong-throughput.cpp
,
compiled with CMAKE_BUILD_TYPE=MinSizeRel
and the stripped
(1) Setup: Intel Core i7-8550U, Void Linux 5.15.
(2) Build with -DROTOR_LIGHT_ACTOR=uint8_t
(2) Zynq xc7z020clg400-1, QMTECH development board. Microblaze standard config, hw mul/div instr. enabled, clocking is 50Mhz.
MIT