Hostname: page-component-77f85d65b8-7lfxl Total loading time: 0 Render date: 2026-04-18T23:43:28.620Z Has data issue: false hasContentIssue false

New dimensions in heap profiling

Published online by Cambridge University Press:  07 November 2008

Colin Runciman
Affiliation:
Department of Computer Science, University of York, Heslington, York, Y01 5DD, UK (e-mail: {colin,rojemo}@cs.york. ac.uk)
Niklas Röjemo
Affiliation:
Department of Computer Science, University of York, Heslington, York, Y01 5DD, UK (e-mail: {colin,rojemo}@cs.york. ac.uk)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

First-generation heap profilers for lazy functional languages have proved to be effective tools for locating some kinds of space faults, but in other cases they cannot provide sufficient information to solve the problem. This paper describes the design, implementation and use of a new profiler that goes beyond the two-dimensional ‘who produces what’ view of heap cells to provide information about their more dynamic and structural attributes. Specifically, the new profiler can distinguish between cells according to their eventual lifetime, or on the basis of the closure retainers by virtue of which they remain part of the live heap. A bootstrapping Haskell compiler (nhc) hosts the implementation: among examples of the profiler's use we include self-application to nhc. Another example is the original heap-profiling case study clausify, which now consumes even less memory and is much faster.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 1996
Submit a response

Discussions

No Discussions have been published for this article.