Copyright (C) 2000-2012 |
GNU Info (libc.info)Efficiency and MallocEfficiency 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. automatically generated by info2www version 1.2.2.9 |