diff options
-rw-r--r-- | Doc/Zsh/mod_zprof.yo | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Doc/Zsh/mod_zprof.yo b/Doc/Zsh/mod_zprof.yo new file mode 100644 index 000000000..17add53b8 --- /dev/null +++ b/Doc/Zsh/mod_zprof.yo @@ -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() |