5.3. Time and allocation profiling

To generate a time and allocation profile, give one of the following RTS options to the compiled program when you run it (RTS options should be enclosed between +RTS...-RTS as usual):

-p or -P or -pa:

The -p option produces a standard time profile report. It is written into the file program.prof.

The -P option produces a more detailed report containing the actual time and allocation data as well. (Not used much.)

The -pa option produces the most detailed report containing all cost centres in addition to the actual time and allocation data.


Sets the interval that the RTS clock ticks at, which is also the sampling interval of the time and allocation profile. The default is 0.02 second.


This option makes use of the extra information maintained by the cost-centre-stack profiler to provide useful information about the location of runtime errors. See Section 4.16.7, “RTS options for hackers, debuggers, and over-interested souls”.