about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Doc/Makefile.in2
-rw-r--r--Doc/Zsh/.distfiles1
-rw-r--r--Doc/Zsh/mod_zprof.yo62
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()