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 not marked INLINE. If you
want a cost centre on an INLINE function, you have to add
it manually.
-auto-all
:
All top-level functions
not marked INLINE, exported or not, will be automatically
_scc_
'd.
The functions marked INLINE must be given a cost centre
manually.
-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.