This software provides a memory allocator that can be scaled for use in multithreaded applications.
One of the most outstanding features of this allocator is that it can function on different operating systems, including Solaris, Windows, and Linux. Hoard can easily integrate with your project without any programming changes necessary. Simply link it in or set one environment variable, and the magic happens.
Notably, using Hoard can significantly enhance the performance of your multithreaded programs running on multiprocessors. Most of the time, these programs don't scale well because the heap becomes a bottleneck. Similarly, when several threads try to allocate or deallocate memory at the same time, the allocator will serialize them, leading to slower programs. Hoard can resolve these issues, preventing false sharing and excessive consumption of memory. An example of allocation-intensive programs is those making use of the C++ Standard Template Library (STL).
Aside from the above benefits of using Hoard, multithreaded programs can even blow up memory consumption, as the allocator ends up multiplying the memory needed to run your application by the number of CPUs on your machine. This drop-in memory allocator can instantly solve these problems, ensuring fast, efficient performance that is beneficial to your application.
Overall, I highly recommend Hoard Scalable Memory Allocator to anyone working with multithreaded applications running on shared-memory multiprocessors. The usage is straightforward: LD_PRELOAD="/path/libhoard.so:/usr/lib/libdl.so".
Version 3.8: N/A