mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-06-22 22:58:03 +02:00
Initial revision
This commit is contained in:
parent
a81ffd1841
commit
c785eb610a
1 changed files with 62 additions and 0 deletions
62
Doc/Zsh/mod_zprof.yo
Normal file
62
Doc/Zsh/mod_zprof.yo
Normal file
|
@ -0,0 +1,62 @@
|
|||
COMMENT(!MOD!
|
||||
A module allowing profiling for shell functions.
|
||||
!MOD!)
|
||||
cindex(functions, profiling)
|
||||
When loaded, the tt(zprof) module makes shell functions be
|
||||
profiled. The profiling results can be obtained with the tt(zprof)
|
||||
builtin command made available by this module. There is no way to turn
|
||||
profiling off other than unloading this module.
|
||||
|
||||
startitem()
|
||||
findex(zprof)
|
||||
item(tt(zprof) [ tt(-c) ])(
|
||||
Without the tt(-c) option, tt(zprof) lists profiling results to
|
||||
standard output. The format is comparable to that of commands like
|
||||
tt(gprof).
|
||||
|
||||
At the top there is a summary listing all functions that were called
|
||||
at least once. This summary is sorted in decreasing order by the
|
||||
amount of time spent in the functions themselves. Each line is
|
||||
preceded by the number of the function in this order (which is used in
|
||||
other parts of the list in suffixes of the form
|
||||
`tt([)var(num)tt(])'). The second column gives the number of calls
|
||||
made to this function. The next three columns list the time in
|
||||
milliseconds spent in the function and its descendents, the average
|
||||
time in milliseconds spent in the function and its descendents per
|
||||
call and the percentage of time spent in all shell functions used in
|
||||
this function and its descendents. The following three columns give
|
||||
the same information, but counting only the time spent in the function
|
||||
itself. The last column finally shows the name of the function.
|
||||
|
||||
After the summary, detailed information about every function that was
|
||||
invoked is listed, sorted in decreasing order by the amount of time
|
||||
spent in the functions and their descendents. Each of these entries
|
||||
consists of descriptions for the functions that called the function
|
||||
described, the function itself, and the functions that were called
|
||||
from it. The description for the function itself has the same format
|
||||
as in the summary (and shows the same information). The other lines
|
||||
don't show the number of the function at the beginning and have their
|
||||
function named indented to make it easier to visually distinguish the
|
||||
line showing the function described in the section from the
|
||||
surrounding lines.
|
||||
|
||||
The information shown for the calling and the called functions is
|
||||
almost the same as in the summary, but is always only for the call arc
|
||||
described. For example, for a calling function the column showing the
|
||||
total running time lists the time spent in the described function and
|
||||
its descendents when it was called from the calling
|
||||
function. Likewise, for a called function, this columns lists the
|
||||
total time spent in the called function and its descendents when it
|
||||
was called from the function described.
|
||||
|
||||
For the calling and the called functions, the column showing the
|
||||
number of calls to a function also show the total number of
|
||||
invocations made to the called function after a slash.
|
||||
|
||||
As long as the tt(zprof) module is loaded, profiling will be done and
|
||||
multiple invocations of the tt(zprof) builtin command will show the
|
||||
times and numbers of calls since the module was loaded. With the
|
||||
tt(-c) option, the tt(zprof) builtin command will reset its internal
|
||||
counters and will not show the listing.
|
||||
)
|
||||
enditem()
|
Loading…
Reference in a new issue