A fast and scalable memory manager for Delphi, optimized for multithreaded performance.
ScaleMM is a memory manager for Delphi designed to outperform FastMM in multithreaded scenarios. It focuses on scalability across multiple CPU cores while maintaining high-speed memory allocation and deallocation by using thread-local storage and fixed-size block allocation.
Delphi developers building high-performance, multithreaded applications that require efficient memory management, such as servers, data processing tools, or real-time systems.
Developers choose ScaleMM for its superior multithreaded scalability and speed, proven to outperform alternatives like FastMM, TopMM, and others in benchmarks, with optimizations for modern multi-core CPUs.
Fast scaling memory manager for Delphi
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses thread-local storage to give each thread its own memory, drastically reducing contention and improving performance in benchmarks against FastMM and TopMM, as shown in scaling tests up to multiple cores.
Implements techniques like locality, reduced branch misprediction, compact code, and inlining, optimized with Intel VTune, leading to high-speed allocation and deallocation for small to medium blocks.
Organizes memory into fixed-size mini blocks (32-256 bytes) and small blocks (256-2048 bytes) for fast reuse with low overhead, using fixed arrays instead of linked lists to minimize cache misses.
Demonstrates clear scalability advantages in provided benchmarks, outperforming alternatives like FastMM and TCmalloc in multithreaded scenarios, with detailed charts showing improved throughput.
Explicitly does not check or report memory leaks, a critical omission for debugging and maintaining stable applications in production environments.
Only handles memory blocks up to 2048 bytes; larger allocations are not supported, restricting its use for applications with diverse or large memory requirements.
The author admits ScaleMM2 is not easy to understand, with optimizations prioritizing speed over readability, making customization or contribution difficult for developers.
Last stable release was in 2015, with no recent updates, and the author solicits help for optimizations, indicating potential abandonment and lack of modern support or fixes.
ScaleMM is an open-source alternative to the following products: