Next: Introduction
Up: Are Mallocs Free of
Previous: Are Mallocs Free of
Malloc(3) is considered to be a robust building block.
However, we found that many malloc implementations
suffer from excessive heap fragmentation when used with Hummingbird,
a long-running application which stores a large number of
fixed-sized and variable-sized objects in dynamic memory.
This paper characterizes the dynamic memory activity pattern
of Hummingbird and GNU Emacs.
It compares the behavior of nine different mallocs
when used with Hummingbird and GNU Emacs dynamic memory activity traces.
In the Hummingbird case,
the best malloc caused 30.5% fragmentation
(increased heap size above the amount of live memory),
while the worst malloc caused a heap overflow.
In the GNU Emacs case, the best malloc caused 2.69% fragmentation,
and the worst one caused 101.5% fragmentation.