MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Lag, Drag, Void and Use - Heap Profiling and Space-Efficient Compilation Revisited (1996) [13 citations — 3 self]

by Niklas Röjemo ,  Colin Runciman
In Proc. Intl. Conf. on Functional Programming
Add To MetaCart

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. 1 Introduction A typical computation by graph reduction involves a large and changing population of heap-memory cells. Taking a census of this population at regular intervals can be very instructive, both for functional programmers and for functional-language implementors. A heap profiler [RW93] records population counts for ...

Citations

211 Report on the programming language Haskell: A non-strict, purely functional language – Hudak, Jones, et al. - 1992
111 Efficient compilation of lazy evaluation – Johnsson - 1984
87 Abstract models of memory management – Morrisett, Felleisen, et al. - 1995
86 Unboxed values as first class citizens in a non-strict functional language – Jones, Launchbury - 1991
80 A compiler for lazy ML – AUGUSTSSON - 1984
50 Implementing Functional Languages: a Tutorial – Jones, Lester - 1991
50 Heap profiling of lazy functional programs – Runciman, Wakeling - 1993
36 Time and space profiling for non-strict, higher-order functional languages – Sansom, Jones, et al. - 1995
20 Garbage Collection, and Memory Efficiency, in Lazy Functional Languages – Rojemo - 1995
20 Highlights from nhc: a space-efficient Haskell compiler – Röjemo - 1995
19 Execution profiling for non-strict functional languages – Sansom - 1994
12 Lazy ML user's manual. Programming methodology group report – Augustsson, Johnsson - 1990
7 Heap profiling of a lazy functional compiler – Runciman, Wakeling - 1992
3 Niklas Rojemo. New dimensions in heap profiling – Runciman - 1995