The following metrics have been used in this analysis:

  1. Execution time: Time measurement of allocation and
    deallocation operations. For the execution time, three measures can be considered:
    • Worst-case execution time : this is the most important performance parameter for real-time applications and provides information of the maximum time required to serve a request.
    • Average execution time: this is the key parameter for non real-time applications.
  2. Number of instructions: An alternative measure of the cost of an algorithm is the number of processor instructions executed.
    This metric is only sensitive to the processor instruction set and the compiler optimisation flags.
    Counting instructions provides results that should be close to those obtained with an analytical study.
  3. Fragmentation: There are many way ways to measure the spatial efficiency of an allocator: plots of heap size, maps of busy/free blocks, amount of times the allocator calls the brk system call, etc.

    The fragmentation as: the maximum amount of memory used by the allocator relative to the maximum amount of allocated memory is used. For example, a value of 10% means that the allocator needs 10% more of memory to satisfy the memory requests than the amount of total allocated memory.