I have a utility routine which I have optimized as much as I can.
I need to know who is calling it and how often, so I can reduce
the number of calls to it. How do I get this information?
Use /MAIN_IMAGE=utility-routine on the plot command. This gives
you the following options:
- PLOT CALL_TREE BY CHAIN_ROUTINE will list all the call chains
which pass through utility-routine with the number of data
points for each call chain.
- PLOT/STACK=1 PROGRAM BY ROUTINE will list all the callers of
utility-routine.
- If one particular caller of utility-routine is of interest,
try the following:
PCAA> SET FILTER filter-name CHAIN=(*,caller,utility-routine,*)
This will assure that the data being viewed is only of those
whose chains have a subchain caller,utility-routine.
- Many other combinations of /CUMULATIVE, /MAIN_IMAGE, /STACK
with various filters and nodespecs may be useful.