micro-gl
lockfree
micro-gl | lockfree | |
---|---|---|
5 | 11 | |
144 | 704 | |
2.1% | - | |
7.9 | 7.9 | |
7 months ago | about 1 month ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | 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.
micro-gl
- I created a graphics engine and vector graphics engine, that can run on any computer. I would love to get your support with this. Should I use Conan for this ? any suggestions ?
- I created a graphics engine and vector graphics engine, that can run on any computer with C++11. I would love to get your support with this. Should I use C++2x ? I really wonder about modernization.
- I created a graphics engine and vector graphics engine, that can run on any computer. I would love to get your support with this.
- C++11 CPU vector graphics. no STD lib, no FPU and no GPU required
lockfree
- A lock-free ring-buffer with contiguous reservations (2019)
-
Atomics and Concurrency
If you're interested about lock-free data structures, I wrote [lockfree](https://github.com/DNedic/lockfree) a collection of lock-free data structures meant to be readable and both hosted system and embedded friendly.
-
Optimizing a Ring Buffer for Throughput
If you want more than a spsc queue, I've written `lockfree`, a collection of SPSC and MPMC data structures along the same principles the author here used:https://github.com/DNedic/lockfree.
The library is written in standard C++11 (but additional API's for higher C++ versions have been added), uses no dynamic allocation and is configurable so it is both big metal and deeply embedded friendly.
-
A collection of lock-free data structures written in standard C++11
- A lot of code won't work for types with no default constructors, but that is at least compile error
- Using memcpy[0] for arbitrary types is just wrong, see [1]
[0] https://github.com/DNedic/lockfree/blob/main/lockfree/inc/bi...
[1] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p11...
-
Lock-free data structures
My friend wrote a few lock-free data structures and he is now looking for some feedback. Here is the link: https://github.com/DNedic/lockfree
- A collection of lock-free data structures written in standard c++11
- A collection of embedded friendly lock-free data structures written in standard C++11
What are some alternatives?
HFSM2 - High-Performance Hierarchical Finite State Machine Framework
rc_event_queue - VecDeque-like fast, unbounded, mpmc/spmc concurent FIFO message queue. Lockless reads, write-lock writes.
real-time-cpp - Source code for the book Real-Time C++, by Christopher Kormanyos
glibc - GNU Libc
distortos - object-oriented C++ RTOS for microcontrollers
amp-embedded-infra-lib - amp-embedded-infra-lib is a set of C++ libraries and headers that provide heap-less, STL like, infrastructure for embedded software development
tlaplus - TLC is a model checker for specifications written in TLA+. The TLA+Toolbox is an IDE for TLA+.
modern-cpp-tutorial - 📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
Ring-Buffer - A simple ring buffer (circular buffer) designed for embedded systems.
multiversion-concurrency-control - Implementation of multiversion concurrency control, Raft, Left Right concurrency Hashmaps and a multi consumer multi producer Ringbuffer, concurrent and parallel load-balanced loops, parallel actors implementation in Main.java, Actor2.java and a parallel interpreter
set-ethernet-max-ring-buffer - Set max TX/RX ring buffer for ethernet device