Question about profiling reports
Celeste Hollenbeck
celeste.hollenbeck at gmail.com
Tue Jul 30 14:57:52 UTC 2024
Hi GHC Team,
I have a question for a research project. I'm looking at GHC's profiler,
and the documentation says a profiling report displays "a break-down by
cost centre of the most costly functions in the program". Here's an example
of the report that I'm talking about:
MAIN MAIN 102 0 0.0 0.0 100.0
100.0
CAF GHC.IO.Handle.FD 128 0 0.0 0.0 0.0
0.0
CAF GHC.IO.Encoding.Iconv 120 0 0.0 0.0 0.0
0.0
CAF GHC.Conc.Signal 110 0 0.0 0.0 0.0
0.0
CAF Main 108 0 0.0 0.0 100.0
100.0
main Main 204 1 0.0 0.0 100.0
100.0
fib Main 205 2692537 100.0 100.0 100.0
100.0
This example is under Section 8.1 of the GHC User's Guide
https://downloads.haskell.org/ghc/latest/docs/users_guide/profiling.html#:~:text=GHC's%20profiling%20system%20assigns%20costs,to%20the%20enclosing%20cost%20centre.
It looks like the numbers often add up to less than 100% for the %time, but
I don't see any documentation on a threshold for what makes a cost centre
"costly"—so I assume that "costly" means that it takes up any time
whatsoever, and any cost centres that take up any time at all are included
in the report? So perhaps the numbers under %time don't add up to 100% all
the time because of rounding error or perhaps garbage collection? Or
something else that is not profiled?
Is that correct?
Thanks,
Celeste
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20240730/d4f187fc/attachment.html>
More information about the ghc-devs
mailing list