diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2022-04-07 17:21:47 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-08-06 06:13:17 -0400 |
commit | fab0ee93abda33bf5c7eb5ca0372e12bd140a252 (patch) | |
tree | dfb79e20a525328a52bd5ea9168583b836f9ab54 /docs/users_guide/images/prof_scc.svg | |
parent | 1f6c56ae9aa4ab4977ba376ac901d5256bf0aba0 (diff) | |
download | haskell-fab0ee93abda33bf5c7eb5ca0372e12bd140a252.tar.gz |
Change `-fprof-late` to insert cost centres after unfolding creation.
The former behaviour of adding cost centres after optimization but
before unfoldings are created is not available via the flag
`prof-late-inline` instead.
I also reduced the overhead of -fprof-late* by pushing the cost centres
into lambdas. This means the cost centres will only account for
execution of functions and not their partial application.
Further I made LATE_CC cost centres it's own CC flavour so they now
won't clash with user defined ones if a user uses the same string for
a custom scc.
LateCC: Don't put cost centres inside constructor workers.
With -fprof-late they are rarely useful as the worker is usually
inlined. Even if the worker is not inlined or we use -fprof-late-linline
they are generally not helpful but bloat compile and run time
significantly. So we just don't add sccs inside constructor workers.
-------------------------
Metric Decrease:
T13701
-------------------------
Diffstat (limited to 'docs/users_guide/images/prof_scc.svg')
0 files changed, 0 insertions, 0 deletions