Lag, drag, void and use—heap profiling and space-efficient compilation revisited

  • Authors:
  • Niklas Röjemo;Colin Runciman

  • Affiliations:
  • Department of Computer Science, University of York, Heslington, York, YO1 5DD, UK;Department of Computer Science, University of York, Heslington, York, YO1 5DD, UK

  • Venue:
  • Proceedings of the first ACM SIGPLAN international conference on Functional programming
  • Year:
  • 1996

Quantified Score

Hi-index 0.02

Visualization

Abstract

The context for this paper is functional computation by graph reduction. Our overall aim is more efficient use of memory. The specific topic is the detection of dormant cells in the live graph --- those retained in heap memory though not actually playing a useful role in computation. We describe a profiler that can identify heap consumption by such 'useless' cells. Unlike heap profilers based on traversals of the live heap, this profiler works by examining cells postmortem. The new profiler has revealed a surprisingly large proportion of 'useless' cells, even in some programs that previously seemed space-efficient such as the boot-strapping Haskell compiler nhc.