5.5. Graphical time/allocation profile

You can view the time and allocation profiling graph of your program graphically, using ghcprof. This is a new tool with GHC 4.08, and will eventually be the de-facto standard way of viewing GHC profiles[1]

To run ghcprof, you need daVinci installed, which can be obtained from The Graph Visualisation Tool daVinci. Install one of the binary distributions[2], and set your DAVINCIHOME environment variable to point to the installation directory.

ghcprof uses an XML-based profiling log format, and you therefore need to run your program with a different option: -px. The file generated is still called <prog>.prof. To see the profile, run ghcprof like this:

$ ghcprof <prog>.prof

which should pop up a window showing the call-graph of your program in glorious detail. More information on using ghcprof can be found at The Cost-Centre Stack Profiling Tool for GHC.

Notes

[1]

Actually this isn't true any more, we are working on a new tool for displaying heap profiles using Gtk+HS, so ghcprof may go away at some point in the future.

[2]

daVinci is sadly not open-source :-(.