Using lifetime predictors to improve memory allocation performance

  • Authors:
  • David A. Barrett;Benjamin G. Zorn

  • Affiliations:
  • -;-

  • Venue:
  • PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic storage allocation is used heavily in many application areas including interpreters, simulators, optimizers, and translators. We describe research that can improve all aspects of the performance of dynamic storage allocation by predicting the lifetimes of short-lived objects when they are allocated. Using five significant, allocation-intensive C programs, we show that a great fraction of all bytes allocated are short-lived ( 90% in all cases). Furthermore, we describe an algorithm for liftetime prediction that accurately predicts the lifetimes of 42–99% of all objects allocated. We describe and simulate a storage allocator that takes adavantage of lifetime prediction of short-lived objects and show that it can significantly improve a program's memory overhead and reference locality, and even, at times, improve CPU performance as well.