Tracing And Heap Profiling
Afp0304
--
IngmarBrouns - 23 Sep 2003
Introduction
This is the website of Ingmar Brouns and Robert van Herk. We are currently preparing a presentation for the course Advanced Functional Programming. The subject of our presentation is Tracing and Heap Profiling. It will be held on October 23 at the BBL room 505.
History
- 23 sep, site created
- 23 sep, literature added
- 14 oct, literature added
- 14 oct, literature added
Literature
- Heap profiling of a lazy functional compiler, Colin Runciman and David Wakeling, in Glasgow Functional Programming Workshop 1992, pp.203-215, Springer-Verlag/BCS Workshops in Computing.
- Lag, drag, void and use - heap profiling and space-efficient compilation revisited, Niklas Rojemo and Colin Runciman, in Proceedings of ICFP'96, Philedelphia, USA, SIGPLAN Notices 31(6), pp.34-41, ACM Press, June 1996.
- Testing and Tracing Lazy Functional Programs using QuickCheck and Hat, Koen Claessen, Colin Runciman, Olaf Chitil, John Hughes, Malcolm Wallace, 4th Summer School in Advanced Functional Programming, Oxford, Preliminary version, August 2002.
- Time and space profiling for non-strict, higher-order functional languages Patrick M.Sansom, Simon L. Peyton Jones, Research Report FP-1994-10, Dept of Computing Science, University of Glasgow, Nov 1994
Our stuff
Assignment
Our assignment is to
- make your own program. It can be very simple. Make something stupid in this program, so that it runs too slow or uses more memory than it should.
- Next, make a heap profile of your program and explain how the inefficiency you implemented is shown in the profile.
- Finally, make an efficient version of your program and make a new profile. Explain what changes you made and how this can be seen in the profile.
As an example, you could think of:
- Implement insertion sort. Make a profile. Implement quick sort. Make a new profile and explain the differences.
- Implement a parser in an inefficient library and in an efficient library. Explain the differences that appear in the profiles.
- Something else. It can be anything, as long as you do not use reverse, since this was the example in our presentation.
Grades for the excercises:
| Christof Douma | 9908188 | + |
| Guno Heitman | 0054445 | + |
| Joost Verhoog | 0019755 | 0 |
| Niels ReynGoud? | 0019593 | + |
| Martje Kolthof | 0019356 | + |
| Niels Naat van der Velden | 0019720 | + |
| Peter f Nagel | | + |
Information on compiling for heap profiling in GHC can be found on
http://www.haskell.org/ghc/. See chapter 5 of the documentation.