home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.vms
- Path: sparky!uunet!gatech!darwin.sura.net!convex!convex!ssimmons
- From: ssimmons@convex.com (Steve Simmons)
- Subject: >>>>>> PCA gives strange results
- Sender: usenet@news.eng.convex.com (news access account)
- Message-ID: <ssimmons.713634003@convex.convex.com>
- Date: Wed, 12 Aug 1992 15:40:03 GMT
- Nntp-Posting-Host: pixel.convex.com
- Organization: Engineering, CONVEX Computer Corp., Richardson, Tx., USA
- X-Disclaimer: This message was written by a user at CONVEX Computer
- Corp. The opinions expressed are those of the user and
- not necessarily those of CONVEX.
- Lines: 57
-
-
- Friends,
- > We are currently using PCA (Performance and Coverage Analyser)
- > to try to cut down the run time of some in-house analysis code. The
- > results have been a bit strange. Apparently this program is spending
- > roughly 30% of its time executing one or the other of two subroutine
- > CALLs (not the subroutines themselves, nor the rather involved (IMSL)
- > subroutines called from within the subroutines). Oh, source language
- > is VAX FORTRAN.
- > Am I simply misunderstanding what the results mean, or is there
- > possibly something happening to distort the results? I checked the
- > machine code generated for these lines and they're regular old CALLG
- > instructions. Could some other code somewhere be getting counted
- > against these lines (I didn't see any code to actually set up the
- > argument list, for example)?
- > Since this is probably a case of my not understanding what
- > I'm doing properly (*blush*), I've set followups to sender, but
- > if this raises any points of interest, please post.
-
- Probably, you are using PCA V2.0 or later. In this case, the default
- behavior for the PLOT command charges the first PC on the stack within
- the MAIN IMAGE's address boundary to the appropriate bucket. Thus,
- all of the PC samples within IMSL are charged to the instruction where
- the CALL is made. If this is not desired, use the /NOMAIN_IMAGE qualifier.
-
- In PCA V2.0, there are three stack operators that can be used
- with TAB, PLOT, INCLUDE, and SET FILTER. That is, these operators
- assume the presence of the call chain. The call chain is walked
- to determine which pc on the stack to charge the hit. They are...
-
- - /MAIN_IMAGE[=address boundary] - This says chose
- first pc on the stack within the address boundaries.
- This default to the entire image; however, you can provide
- one routine name. If you want the hotspot within Routine BAR,
- type PLOT/MAIN=BAR ROUTINE BAR BY LINE.
-
-
- - /STACK_DEPTH=n - Starting from the bottom of the stack, take
- the PC that is "n" frames away. /MAIN takes precedence.
- Therefore, PLOT/MAIN=BAR/STACK=1 PROG BY ROUTINE informs
- the user about which routine calls BAR the most.
-
- - /CUMULATIVE[=n] - Select the first "n" pcs on the stack.
- In this case, more than one pc is selected. The default
- is all PCs on the stack. If the /MAIN and /STACK were
- used, they would take precedence and the starting point
- would be defined by those two operators. If you only
- want to see those PCs where FOO calls BAR, just type..
-
- SET FILTER F1 PROGRAM=FOO/CUM/MAIN=BAR
-
- Does this answer your question??? ;-)
-
- Thank you.
-
- Steve Simmons
-
-