The results of: Profiling large-scale lazy functional programs

  • Stephen A. Jarvis
  • Richard G. Morgan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1268)


At the High Performance Functional Computing conference in Denver [MoJ95] a new approach to profiling was presented, this allowed the complete set of program costs to be recorded in so-called cost centre stacks. It was proposed that these program costs could then be manipulated using a post-processor which would speed up the task of profiling a Haskell program and would also produce more accurate profiling results.

This paper presents the results of using this new profiling tool in the analysis of a number of Haskell programs. The overheads of the scheme are discussed and the benefits of this new system are considered. The paper also outlines how this approach can be modified to trace and debug Haskell programs.


Total Execution Time Program Cost Cost Centre Large Program Flat Profile 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [CCP95]
    Clayman, S.; Clack, C.; Parrott, D. J.: Lexical Profiling: Theory and Practice, Journal of Functional Programming, Volume 5, Part 2, 1995Google Scholar
  2. [LGa94]
    Long, D.; Garigliano, G.: Reasoning by Analogy and Causality: A Model and Application, Ellis Horwood, 1994Google Scholar
  3. [GKK82]
    Graham, S. L.; Kessler, P. B.; Kusick, M. K.: gprof: a call graph execution profiler, ACM Sigplan Notices, 17(6):120–126, Symposium on Computer Construction, June 1982Google Scholar
  4. [Jar96]
    Jarvis, S. A.: Profiling Large-scale Lazy Functional Programs, Ph.D. Thesis, University of Durham, 1996Google Scholar
  5. [MoJ95]
    Morgan, R. G.; Jarvis, S. A.: Profiling Large-scale Lazy Functional Programs, In Proceedings of High Performance Functional Computing, A. P. W. Bohm and J. T. Feo Editors, Lawrence Livermore National Laboratory, USA, pp. 222–234, April 1995Google Scholar
  6. [Par92]
    Partain, W.: The nofib Benchmark Suite of Haskell Programs, Department of Computer Science, University of Glasgow, 1992Google Scholar
  7. [RuW93]
    Runciman, C.; Wakeling, D.: Heap Profiling of Lazy Functional Programs, Journal of Functional Programming, Volume 3, Part 2, 1993Google Scholar
  8. [SaP95]
    Sansom, P. M.; Peyton Jones, S. L.: Time and space profiling for non-strict, higher-order functional languages, 22nd ACM Symposium on Principles of Programming Languages, San Francisco, California, January 1995Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Stephen A. Jarvis
    • 1
  • Richard G. Morgan
    • 2
  1. 1.Oxford University Computing LaboratoryOxfordEngland
  2. 2.Department of Computer ScienceDurham UniversityDurhamEngland

Personalised recommendations