memory
o1heap
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.
memory
-
You all need to stop blindly recommending 32 GB of RAM
In general you'll get a lot of interesting information if you search for "cache locality", "data locality", "custom memory allocation" and read stuff that people have written on github (for example https://github.com/foonathan/memory).
o1heap
-
I have 16 gigabytes of RAM and I am going to use 16 gigabytes of RAM.
https://github.com/pavel-kirienko/o1heap lol u think you’re kidding
- O1heap: Constant-complexity deterministic memory allocator for embedded systems
-
using heap in baremetal embedded
Another option is using an allocator that provides some guarantees that work for your use case, eg https://github.com/pavel-kirienko/o1heap
What are some alternatives?
Mesh - A memory allocator that automatically reduces the memory footprint of C/C++ applications.
Vitis-Tutorials - Vitis In-Depth Tutorials
memory-allocators - Custom memory allocators in C++ to improve the performance of dynamic memory allocation
fprime - F´ - A flight software and embedded systems framework
snmalloc - Message passing based allocator
real-time-cpp - Source code for the book Real-Time C++, by Christopher Kormanyos
lfjson - A memory-optimized and data-oriented JSON library written in C++
mlaas - Simply the best way to instill a sense of urgency within your engineering team.
luos_engine - Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
memorymanager - A simple, thread-safe memory manager for 64bit C++ applications and games. Focus is on preventing heap fragmentation in the absence of good virtual memory management, at the cost of wasting some memory. It works by globally overriding the new and delete operators.