5.2. Compiler options for profiling
Prev | Chapter 5. Profiling | Next

## 5.2. Compiler options for profiling

`-prof`:

  To make use of the profiling system all modules must be compiled and linked with the `-prof` option. Any `SCC` annotations you've put in your source will spring to life.

  Without a `-prof` option, your `SCC`s are ignored; so you can compile `SCC`-laden code without changing it.

There are a few other profiling-related compilation options. Use them in addition to `-prof`. These do not have to be used consistently for all modules in a program.

`-auto`:

  GHC will automatically add `_scc_` constructs for all top-level, exported functions.

`-auto-all`:

  All top-level functions, exported or not, will be automatically `_scc_`'d.

`-caf-all`:

  The costs of all CAFs in a module are usually attributed to one “big” CAF cost-centre. With this option, all CAFs get their own cost-centre. An “if all else fails” option…

`-ignore-scc`:

  Ignore any `_scc_` constructs, so a module which already has `_scc_`s can be compiled for profiling with the annotations ignored.

Prev | Up | Next
Chapter 5. Profiling | Home | 5.3. Time and allocation profiling