X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Fprof-output.lit;h=868c98c47a44921f918cd26f8ac58926e3ab4642;hb=5eb1c77c795f92ed0f4c8023847e9d4be1a4fd0d;hp=a246b382cca236f5951cf787e0eeae06c6ca603c;hpb=10521d8418fd3a1cf32882718b5bd28992db36fd;p=ghc-hetmet.git diff --git a/ghc/docs/users_guide/prof-output.lit b/ghc/docs/users_guide/prof-output.lit index a246b38..868c98c 100644 --- a/ghc/docs/users_guide/prof-output.lit +++ b/ghc/docs/users_guide/prof-output.lit @@ -3,7 +3,7 @@ % When you run your profiled program with the \tr{-p} RTS option -\index{\tr{-p RTS option (profiling)}, you get the following +\index{\tr{-p RTS option (profiling)}}, you get the following information about your ``cost centres'': \begin{description} @@ -19,12 +19,6 @@ different modules. How many times this cost-centre was entered; think of it as ``I got to the \tr{_scc_} construct this many times...'' %------------------------------------------------------------- -\item[\tr{subcc}:] -How many times this cost-centre ``passed control'' to another -cost-centre; for example, \tr{scc=4} plus \tr{subscc=8} means -``This \tr{_scc_} was entered four times, but went out to -other \tr{_scc_s} eight times.'' -%------------------------------------------------------------- \item[\tr{%time}:] What part of the time was spent in this cost-centre (see also ``ticks,'' below). @@ -32,18 +26,43 @@ below). \item[\tr{%alloc}:] What part of the memory allocation was done in this cost-centre (see also ``bytes,'' below). +%------------------------------------------------------------- +\item[\tr{inner}:] +How many times this cost-centre ``passed control'' to an inner +cost-centre; for example, \tr{scc=4} plus \tr{subscc=8} means +``This \tr{_scc_} was entered four times, but went out to +other \tr{_scc_s} eight times.'' +%------------------------------------------------------------- +\item[\tr{cafs}:] +How many CAFs this cost centre evaluated. +%------------------------------------------------------------- +\item[\tr{dicts}:] +How many dictionaries this cost centre evaluated. +\end{description} + +In addition you can use the \tr{-P} RTS option \index{\tr{-P RTS + option (profiling)}} to get the following additional information: +\begin{description} +%------------------------------------------------------------- +\item[\tr{ticks}:] The raw number of time ``ticks'' which were +attributed to this cost-centre; from this, we get the \tr{%time} +figure mentioned above. +%------------------------------------------------------------- +\item[\tr{bytes}:] Number of bytes allocated in the heap while in +this cost-centre; again, this is the raw number from which we +get the \tr{%alloc} figure mentioned above. \end{description} -If you use the \tr{-P} RTS option -\index{\tr{-P RTS option (profiling)}, you will also get the -following information: +Finally if you built your program with \tr{-prof-details} +\index{\tr{-prof-details option}} the \tr{-P} RTS option will also +produce the following information: \begin{description} %------------------------------------------------------------- -\item[\tr{cafcc}:] Two columns, analogous to the \tr{scc} and \tr{subcc} -columns, except these are for CAF cost-centres: the first column -is how many times this top-level CAF cost-centre was entered; -the second column is how many times this cost-centre (CAF or otherwise) -entered another CAF cost-centre. +\item[\tr{closures}:] +How many heap objects were allocated; these objects may be of varying +size. If you divide the number of bytes (mentioned below) by this +number of ``closures'', then you will get the average object size. +(Not too interesting, but still...) %------------------------------------------------------------- \item[\tr{thunks}:] How many times we entered (evaluated) a thunk---an unevaluated @@ -60,18 +79,4 @@ How many times we entered (evaluated) a partial application (PAP), i.e., a function applied to fewer arguments than it needs. For example, \tr{Int} addition applied to one argument would be a PAP. A PAP is really just a particular form for a function. -%------------------------------------------------------------- -\item[\tr{closures}:] -How many heap objects were allocated; these objects may be of varying -size. If you divide the number of bytes (mentioned below) by this -number of ``closures'', then you will get the average object size. -(Not too interesting, but still...) -%------------------------------------------------------------- -\item[\tr{ticks}:] The raw number of time ``ticks'' which were -attributed to this cost-centre; from this, we get the \tr{%time} -figure mentioned above. -%------------------------------------------------------------- -\item[\tr{bytes}:] Number of bytes allocated in the heap while in -this cost-centre; again, this is the raw number from which we -get the \tr{%alloc} figure mentioned above. \end{description}