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.
-Vsecs
       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 seconds.
-xc
          
        This option causes the runtime to print out the
          current cost-centre stack whenever an exception is raised.
          This can be particularly useful for debugging the location
          of exceptions, such as the notorious Prelude.head:
          empty list error.  See Section 4.17.7, “RTS options for hackers, debuggers, and over-interested
    souls”.