diff options
-rw-r--r-- | Doc/Makefile.in | 2 | ||||
-rw-r--r-- | Doc/Zsh/.distfiles | 1 | ||||
-rw-r--r-- | Doc/Zsh/mod_zprof.yo | 62 |
3 files changed, 64 insertions, 1 deletions
diff --git a/Doc/Makefile.in b/Doc/Makefile.in index 6d7e76fce..6bef21179 100644 --- a/Doc/Makefile.in +++ b/Doc/Makefile.in @@ -60,7 +60,7 @@ Zsh/mod_computil.yo \ Zsh/mod_deltochar.yo Zsh/mod_example.yo Zsh/mod_files.yo \ Zsh/mod_mapfile.yo Zsh/mod_mathfunc.yo Zsh/mod_parameter.yo Zsh/mod_sched.yo \ Zsh/mod_stat.yo Zsh/mod_zftp.yo Zsh/mod_zle.yo Zsh/mod_zleparameter.yo \ -Zsh/mod_zutil.yo +Zsh/mod_zutil.yo Zsh/mod_zprof.yo YODLSRC = zmacros.yo zman.yo ztexi.yo Zsh/arith.yo Zsh/builtins.yo \ Zsh/compat.yo Zsh/compctl.yo Zsh/compsys.yo Zsh/compwid.yo Zsh/cond.yo \ diff --git a/Doc/Zsh/.distfiles b/Doc/Zsh/.distfiles index 648d07d8c..4add4a280 100644 --- a/Doc/Zsh/.distfiles +++ b/Doc/Zsh/.distfiles @@ -7,6 +7,7 @@ DISTFILES_SRC=' mod_computil.yo mod_deltochar.yo mod_example.yo mod_files.yo mod_mapfile.yo mod_mathfunc.yo mod_parameter.yo mod_sched.yo mod_stat.yo mod_zftp.yo mod_zle.yo mod_zleparameter.yo mod_zutil.yo + mod_zprof.yo modules.yo modmenu.yo options.yo params.yo prompt.yo redirect.yo restricted.yo seealso.yo zftpsys.yo zle.yo 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() |