ACM Home Page
Please provide us with feedback. Feedback
Formally based profiling for higher-order functional languages
Full text PdfPdf (551 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 19 ,  Issue 2  (March 1997) table of contents
Pages: 334 - 385  
Year of Publication: 1997
ISSN:0164-0925
Authors
Patrick M. Sansom  Univ. of Glasgow, Glasgow, Scotland, UK
Simon L. Peyton Jones  Univ. of Glasgow, Glasgow, Scotland, UK
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 40,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/244795.244802
What is a DOI?

ABSTRACT

We present the first source-level profiler for a compiled, nonstrict, higher-order, purely functional language capable of measuring time as well as space usage. Our profiler is implemented in a production-quality optimizing compiler for Haskell and can successfully profile large applications. A unique feature of our approach is that we give a formal specification of the attribution of execution costs to cost centers. This specification enables us to discuss our design decisions in a precise framework, prove properties about the attribution of costs, and examine to effects of different program transformations on the attribution of costs. Since it is not obvious how to map this specification onto a particular implementation, we also present an implementation-oriented operational semantics, and prove it equivalent to the specification.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
APPEL, A. W., DUBA, B. F., AND MACQUEEN, D. B. 1988. Profiling in the presence of optimization and garbage collection. Tech. Rep. CS-TR-197-88, Dept. of Computer Science, Princeton Univ., Princeton, N.J.
2
 
3
 
4
 
5
CLACK, C., CLAYMAN, S., AND PARROTT, D. 1995. Lexical profiling: Theory and practice. J. Funct. Program. 5, 2, 225-277.
 
6
 
7
GRAHAM, S. L., KESSLER, P. B., AND McKuSICK, M.K. 1983. An execution profiler for modular programs. Softw. Pract. F, xper. 13, 8, 671-685.
 
8
9
 
10
HUTTON, G. 1992. Higher-order functions for parsing. J. Funct. Program. 2, 3, 323-343.
 
11
INGALLS, D. 1972. The execution profile as a measurement tool. In Design and Optimization of Compilers, R. Rustin, Ed. Prentice-Hall, Englewood Cliffs, N.J., 107-128.
 
12
JONES, M. P. 1992. Efficient implementation of type class overloading. Dept. of Computer Science, Oxford Univ., Oxford, U.K.
 
13
KNUTH, D. E. 1971. An Empirical Study of FORTRAN Programs. Softw. Pract. Exper. 1, 105- 133.
14
15
 
16
MORGAN, R. G. AND JARVIS, S. A. 1995. Profiling large-scale lazy functional programs. In the Proceedings of the High Performance Functional Computing Workshop, A. P. Wim Bohm and J. T. Feo, Eds. Lawrence Livermore National Laboratory, Livermore, Calif., 222-234.
 
17
MORGAN, R. G., GARIOLIANO, R., JARVIS, S. A., AND PARKER, B. S. 1994. Maintenance and development of large scale lazy functional programs. In the Dagstuhl Workshop on Functional Programming in the Real World. Dagstuhl, Saarbriicken, Germany.
 
18
 
19
PEYTON JONES, S. L. 1992. Implementing lazy functional languages on stock hardware: The Spineless Tagless G-machine. J. Funct. Program. 2, 2, 127-202.
 
20
PEYTON JONES, S. L., HALL, C. V., HAMMOND, K., PARTAIN, W. D., AND WADLER, P. L. 1993. The Glasgow Haskell compiler: A technical overview. In the Joint Framework for Information Technology (JFIT) Technical Conference Digest. SERC, Swindon, U.K., 249-257.
 
21
Rt~JEMO, N. 1995. Garbage collection and memory efficiency in lazy functional languages. Ph.D. thesis, Dept. of Computing Science, Chalmers Univ., Chalmers, Sweden.
22
 
23
RUNCIMAN, C. AND R/SJEMO, N. 1996. New dimensions in heap profiling. J. Funct. Program. 6, 4, 587-620.
 
24
RUNCIMAN, C. AND WAKELING, D. 1993. Heap profiling of lazy functional programs. J. Funct. Program. 3, 2, 217-245.
 
25
SANSOM, P. M. 1994. Time profiling a lazy functional compiler. In Functional Programming, Glasgow 1993, K. Hammond and J. O'Donnell, Eds.,Workshops in Computing. Springer-Verlag, Berlin, 252-264.
 
26
SANTOS, A. 1995. Compilation by transformation in non-strict functional languages. Ph.D. thesis, Res. Rep. FP-1995-17, Dept. of Computing Science, Univ. of Glasgow, Scotland.
 
27
28



REVIEW

"Max Hailperin : Reviewer"

This paper numbers among the very few that are a genuine pleasure to read. The writing is so literate, the formal technicalities so deftly interwoven with the informal motivations, that the pages practically turn themselves. The au  more...

Collaborative Colleagues:
Patrick M. Sansom: colleagues
Simon L. Peyton Jones: colleagues