(libc.info.gz) Efficiency and Malloc

Info Catalog (libc.info.gz) Allocating Cleared Space (libc.info.gz) Unconstrained Allocation (libc.info.gz) Aligned Memory Blocks
 
 3.2.2.6 Efficiency Considerations for `malloc'
 ..............................................
 
 As opposed to other versions, the `malloc' in the GNU C Library does
 not round up block sizes to powers of two, neither for large nor for
 small sizes.  Neighboring chunks can be coalesced on a `free' no matter
 what their size is.  This makes the implementation suitable for all
 kinds of allocation patterns without generally incurring high memory
 waste through fragmentation.
 
    Very large blocks (much larger than a page) are allocated with
 `mmap' (anonymous or via `/dev/zero') by this implementation.  This has
 the great advantage that these chunks are returned to the system
 immediately when they are freed.  Therefore, it cannot happen that a
 large chunk becomes "locked" in between smaller ones and even after
 calling `free' wastes memory.  The size threshold for `mmap' to be used
 can be adjusted with `mallopt'.  The use of `mmap' can also be disabled
 completely.
 
Info Catalog (libc.info.gz) Allocating Cleared Space (libc.info.gz) Unconstrained Allocation (libc.info.gz) Aligned Memory Blocks
automatically generated by info2html