SmartHeap

"In the SPEC CPU20006 suite, the benchmark component “483.xalancbmk” is commonly referred to as a “malloc abuser”. Using MicroQuill’s SmartHeap for this workload, the performance of the benchmark is significantly improved, almost doubling in performance." - Bill Buros, IBM Linux Performance Team. Bill's technical paper is available at http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP101210

SmartHeap is a fast (3X-100X faster than compiler-supplied libraries), portable (Windows, Linux, Solaris, HP-UX, IBM-AIX, Dec OSF Tru64, SGI Irix), reliable, ANSI-compliant malloc/operator new library. SmartHeap supports multiple memory pools, includes a fixed-size allocator, and is thread-safe. SmartHeap also includes comprehensive memory debugging APIs to detect leakage, overwrites, double-frees, wild pointers, out of memory, references to previously freed memory, and other memory errors.

Available in Three Configurations:

SmartHeap for Multi-Core (Windows and Linux only)

New! SmartHeap 10 for multi-core Windows and Linux allows applications to take full advantage of multiple processors that are included in the same physical CPU package (the basic design used in modern multi-core systems). This can result in a dramatic performance improvement for heap-intensive multi-threaded apps.

SmartHeap for Windows and Unix

The latest release of the standard SmartHeap libraries which we have been shipping for over 20 years. Standard SmartHeap features improved memory manager performance for multi-threaded apps running on a single physical processor. and single threaded apps running on any number of processors.

SmartHeap for SMP for Windows and Unix

SmartHeap for SMP has been expressly optimized for multi-processor systems, including multi-core systems but most especially systems powered by two or more physical processors.

Shipping a server app that runs on multi-CPU boxes?
Click here for info on SmartHeap for SMP machines.

 

SmartHeap Technical Specification

  • Display the SmartHeap Technical Specification, which describes the performance and debugging advantages of SmartHeap.
  • Download the SmartHeap Technical Specification. The .zip file contains an html version of this doc and the associated benchmark graphics. Pkunzip users should specify the -d option -- no options necessary if using Winzip. To view, open the file techspec.htm in your browser.
  • Why you still need SmartHeap in 32-bit Windows.
    This document discusses why large-footprint, multi-threaded, pre-emptively multi-tasking operating systems (for example, Windows NT and 2000) make it more difficult than ever for your memory management library. It then goes on to compare SmartHeap's allocation algorithms with compiler-supplied alternatives. You can also display benchmarks for the current compilers on Windows 3.11, Windows 95, and Windows NT. Taken from the SmartHeap Technical Specification.

SmartHeap licensing questions and answers

Platform and compiler support