The Program Level

The <Program> tag marks the root of a subtree of information for each program used by the profiled run. Each time a program leaves memory, it produces one of these subtrees. Because of this architecture, a particular program can appear in the acumon#.xml file more than once.

If a particular program appears many times in a run, it may be getting canceled too often. This can present performance issues, because each cancel causes the program to be reloaded from disk the next time it is called.

Each program sub-tree contains the following tags:

<ProgramName>    Contains the program's ID.
<Call-Name> Shows the name the program was called by. This is useful if more than one program has been given the same program ID.
<Object-Code> Gives the name that describes the object code instruction set. The name AcuCode is used for machine-independent object files. If the object was compiled for native code, the name of the relevant CPU type is given.
<Call-Count> Indicates the number of times this program was entered.
<Program-Ticks> Shows the number of times the timer went off in this program. Time spent waiting for the user to respond is counted only on Windows NT systems.
<Has-Symbols> Is set to 1 if the program was compiled for debugging and had section/paragraph symbols available. When this is 0, no paragraph data is included for this program.
<File-Opens> Lists the number of times this program opened any file using the OPEN statement or I$IO. Note that this counts opens, not files (so if you open the same file ten times in the course of a run, that counts as 10 and not 1). Some machines open files much more slowly than others, so a large number here usually suggests a potential performance issue.
<File-Reads> Lists the number of record read attempts. READ, READ NEXT, and READ PREVIOUS all count here and are not distinguished.
<File-Writes> Indicates the number of records written.
<File-Rewrites> Gives the number of records rewritten by the program.
<File-Deletes> Shows the number of records deleted by the program.
<File-Starts> Lists the number of file positions made using the START statement or the I$IO subroutine.
Note: Note: Attempted reads, writes, rewrites, deletes, and starts that failed are counted along with the successful file operations
<File-Commits> and <File-Rollbacks> Show the number of COMMIT and ROLLBACK statements performed by the program, regardless of outcome.
<Records-Sorted> Gives the number of records sorted by this program via the SORT statement.