Overlooking roots: a framework for making nondeferred reference-counting garbage collection fast

  • Authors:
  • Pramod G. Joisha

  • Affiliations:
  • Microsoft Research, Redmond, WA

  • Venue:
  • Proceedings of the 6th international symposium on Memory management
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Numerous optimizations exist for improving the performance of nondeferred reference-counting (RC) garbage collection. Their designs are ad hoc, intended to exploit different count removal opportunities. This paper shows that many of these optimizations can be unified using a notion called overlooking roots. The paper also shows how the notionenables more powerful versions of past optimizations and makes new optimizations possible. While recent static analyses have dramatically improved nondeferred RC performance, margins relative to the deferred variant were still significant in the worst case. With the optimizations made possible by overlooking roots, we show that these margins can be reduced to within 4% on nearly all programs in a test suite, at even large heap sizes, and to within 23% in the worst case.