From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7968 invoked from network); 16 Dec 1999 14:47:35 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 16 Dec 1999 14:47:35 -0000 Received: (qmail 21342 invoked by alias); 16 Dec 1999 14:47:29 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9086 Received: (qmail 21335 invoked from network); 16 Dec 1999 14:47:28 -0000 Date: Thu, 16 Dec 1999 15:47:27 +0100 (MET) Message-Id: <199912161447.PAA23586@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk Subject: PATCH: doc for zprof Sigh... But I wasn't able to see if this is ok because `make zsh.info' in Doc fails for me with: makeinfo ./zsh.texi Making info file `zsh.info' from `./zsh.texi'. ./zsh.texi:11145: `The cap Module' has an Up field of `Zsh Modules', but `Zsh Modules' has no menu item for `The cap Module'. make: *** [zsh.info] Error 2 Bye Sven diff -ru ../z.old/Doc/Makefile.in ./Doc/Makefile.in --- ../z.old/Doc/Makefile.in Thu Dec 16 14:48:50 1999 +++ ./Doc/Makefile.in Thu Dec 16 15:20:32 1999 @@ -60,7 +60,7 @@ 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 -ru ../z.old/Doc/Zsh/.distfiles Doc/Zsh/.distfiles --- ../z.old/Doc/Zsh/.distfiles Thu Dec 16 15:43:20 1999 +++ Doc/Zsh/.distfiles Thu Dec 16 15:43:24 1999 @@ -7,6 +7,7 @@ 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 -ru ../z.old/Doc/Zsh/mod_zprof.yo Doc/Zsh/mod_zprof.yo --- ../z.old/Doc/Zsh/mod_zprof.yo Thu Dec 16 15:21:20 1999 +++ Doc/Zsh/mod_zprof.yo Thu Dec 16 15:19:39 1999 @@ -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() -- Sven Wischnowsky wischnow@informatik.hu-berlin.de