Abstract
Dynamic memory management is an important aspect of modern software engineering techniques. However, developer of real-time systems avoid using it because they fear that the worst-case execution time of the dynamic memory allocation routines is not bounded or is bounded with an excesively large bound. The degree to which this concern is valid is quantified in this paper, by giving detailed average and worst-case measurements of the timing performance of a comprehensive panel of dynamic memory allocator .For each allocator, we compare it worst-case behavior obtained analytically with the worst timing behavior observed by executing real and synthetic workloads, and with its average timing performance. The results provide a guideline to developer of real-time systems to choose whether to use dynamic memory management or not, and which dynamic allocation algorithm should be preferred from the viewpoint of predictability.

This publication has 12 references indexed in Scilit: