Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Formally-Based Profiling for Higher-Order Functional Languages

Patrick M. Sansom and Simon L. Peyton Jones

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 the 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.

Details

Publication typeInproceedings
URLhttp://www.acm.org/
PublisherAssociation for Computing Machinery, Inc.
> Publications > Formally-Based Profiling for Higher-Order Functional Languages