mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| COMMENT(!MOD!zsh/zprof
 | |
| A module allowing profiling for shell functions.
 | |
| !MOD!)
 | |
| cindex(functions, profiling)
 | |
| When loaded, the tt(zsh/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(zsh/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()
 |