Restructure GHC profile reports
|LTS Haskell 20.23:||0.1|
|Stackage Nightly 2023-05-31:||0.1|
|Latest on Hackage:||0.1|
Module documentation for 0.1
There are no documented modules for this package.
Script for reading and restructring a GHC profile script.
Given profile data, different ways of looking at it reveal different insights. This tool provides one of those insights - in addition to reading the standard profile output and using other tools such as Profiteur.
Profiterole aims to make the profile shorter by combining common subtrees and lifting them to the root - e.g. if you call
parseFile from 7 places in the code, instead of having 7 pieces of
parseFile profiling, Profiterole will give you one.
As an example compare HLint profile input to HLint Profiterole output.
To run, first install (
cabal update && cabal install profiterole), generate a GHC profile the normal way, then run:
Profiterole will generate
myprogram.profiterole.html - both contain the same information, but the HTML has hyperlinks. There are three columns of numbers:
TOTis the total time spent in any item under this code, what GHC calls inherited time.
INHis the total time spent in the items that Profiterole did not move out to the top level.
INDis the individual time, just like GHC profiles.
For large programs, using
+RTS -P (instead of the common
-p) will give more accurate results.