Developer Guide and Reference

Contents

Intel's Memory Allocator Library

Intel's
libqkmalloc
library for fast memory allocation provides a C-level interface for memory allocation that is optimized for performance.
You can link the
libqkmalloc
library as a shared library only on Linux* platforms for Intel® 64 architecture. This library provides optimized implementation of standard allocation routines
malloc
,
calloc
,
realloc
, and
free
, and is C99 standard compliant.
This library is limited to work only on Intel® processors and will redirect to standard C routines at runtime if used on non-Intel® processors.

Using Intel's Custom Memory Allocator Library

You can use the libqkmalloc library by linking directly to it or by using the
LD_PRELOAD
environment variable.
To ensure the application will override the standard library allocation routines with
libqkmalloc
, set the environment variable LD_PRELOAD in the command line before the application execution. This environment variable allows you to set the path of the library that will be loaded before any other library (including the C runtime library), and the application will use symbols from this specified library instead of the symbols from the standard library.

Restrictions

This library does not support threaded code
such as OpenMP*
and is not thread-safe. It should not be used simultaneously from multiple threads. For the best results this library should be used with large throughput workloads.
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804