mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-11-04 07:21:06 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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()
 |