memory-allocators
memory
memory-allocators | memory | |
---|---|---|
2 | 1 | |
1,712 | 1,482 | |
- | - | |
0.0 | 2.9 | |
4 months ago | about 2 months ago | |
C++ | C++ | |
MIT License | zlib 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.
memory-allocators
-
Books to better understand memory allocation.
Read up on Custom Allocator Strategies GitHub - mtrebi/memory-allocators: Custom memory allocators in C++ to improve the performance of dynamic memory allocation
- A nice collection of C++ based memory Allocators with detailed documentation
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).
What are some alternatives?
Hoard - The Hoard Memory Allocator: A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac.
o1heap - Constant-complexity deterministic memory allocator (heap) for hard real-time high-integrity embedded systems. There is very little activity because the project is finished and does not require further changes.
rmm - RAPIDS Memory Manager
Mesh - A memory allocator that automatically reduces the memory footprint of C/C++ applications.
Memory-Allocators - A set of custom memory allocators
snmalloc - Message passing based allocator
mlaas - Simply the best way to instill a sense of urgency within your engineering team.
lfjson - A memory-optimized and data-oriented JSON library written in C++
c-allocators - A collection of public domain single-file custom allocators for C/C++
hardened_malloc - Hardened allocator designed for modern systems. It has integration into Android's Bionic libc and can be used externally with musl and glibc as a dynamic library for use on other Linux-based platforms. It will gain more portability / integration over time.