<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> <document> <header> <title>Hoard Frequently Asked Questions</title> </header> <body> <section> <title> What kind of applications will Hoard speed up? </title> <p> Hoard will always improve the performance of multithreaded programs running on multiprocessors that make frequent use of the heap (calls to malloc/free or new/delete, as well as many STL functions). Because Hoard avoids false sharing, Hoard also speeds up programs that only occasionally call heap functions but access these objects frequently. </p> </section> <section> <title> I'm using the STL but not seeing any performance improvement. Why not? </title> <p> In order to benefit from Hoard, you have to tell STL to use malloc instead of its internal custom memory allocator: </p> <source> typedef list<unsigned int, malloc_alloc> mylist; </source> </section> <section><title> What systems does Hoard work on? </title> <p> Hoard has been successfully tested on numerous Windows, Linux and Solaris systems, including a 4-processor x86 box running Windows NT/2000, a 4-processor x86 box running RedHat Linux 6.0 and 6.1, and a 16-processor Sun Enterprise server running Solaris. </p> </section> <section><title> Have you compared Hoard with SmartHeap SMP? </title> <p> We tried SmartHeap SMP but it did not work on our Suns (due to an apparent race condition in the code). </p> </section> <section> <title> Have you compared Hoard against mtmalloc or libumem? </title> <p> Yes. Hoard is much faster than either. For example, here's an execution of threadtest on Solaris: </p> <table> <tr> <td>Default:</td> <td>4.60 seconds</td> </tr> <tr> <td>Libmtmalloc:</td> <td>6.23 seconds</td> </tr> <tr> <td>Libumem:</td> <td>5.47 seconds</td> </tr> <tr> <td>Hoard 3.2:</td> <td>1.99 seconds</td> </tr> </table> </section> <section> <title> Can I use Hoard with a commercial application? </title> <p> Yes. Hoard is available under two licenses. The first license is the GNU General Public License. That license is free, but it requires you to open-source your application. The second option is to purchase a license from the University of Texas at Austin. Click the "Licensing Info" link on the left for more information. </p> </section> </body> </document>