Understanding the Report

The report is divided into three sections:

  1. The first section contains general information about when the program was run, which version of the runtime was used, and general system capabilities.
    Profile run on Fri Feb 06 10:05:15 2006, sorted by name
    ACUCOBOL-GT version 8.0.0 (2006-05-10)
    Timer interval = 10.029 milliseconds

    Note that the runtime uses the best timer that it can get from the system, which generally means an interval around ten milliseconds (100 ticks per second). As a result, it's best to run the application for at least ten seconds (not counting time waiting in an ACCEPT loop for user interaction) to get a useful number of data points.

  2. The second section contains information about the programs executed.
       Pct       Secs     Count      I/O   Program
       36.7%      8.35    57927        0   PDM0425
       32.8%      7.47        1    38950   TRP140
       15.2%      3.46    41947        0   TRA050A
       14.2%      3.24    57927        0   TRS130B
        0.7%      0.15        2        8   PCM1800
        0.3%      0.07       14       15   TRZCG01B
        0.0%      0.00        1        0   PCM1520

    This condensed information gives you an easy way to see which programs to focus your attention on. In general, you will want to start by tuning the programs in which the most time is being spent. Because this example was generated on a Windows system, it doesn't show a comparison of system time (time spent performing I/O operations and doing memory management) and user time (time spent in the application, running PERFORMs, etc.). On UNIX systems, this additional information is included and can be used to help you figure out where to focus.

  3. The third section (which contains the bulk of the information in the report) has information about the paragraphs executed by each program.

    In this section, the paragraph totals are per program, not per application, so the total for all paragraphs in each program should add up to 100%.

        Opens:         1
        Reads:         38949
     Pct       Secs    Count    Total   Paragraph  
    52.1%      3.89    41947     17.1%  Z70-CALL-TRA050A
    40.5%      3.03    38949     13.3%  Z10-READ-FTR013A
     5.6%      0.42    38948      1.9%  B20-PROCESS-ECR
     0.5%      0.04     2996      0.2%  B20-PROCESS-EO
     0.4%      0.03       14      0.1%  Z40-CALL-TRZCG01B
     0.3%      0.02        1      0.1%  A00-MAINLINE
     0.3%      0.02        1      0.1%  A10-DEBUT-PROG
     0.3%      0.02        0      0.1%  Z99-END

    In most COBOL programs, one or two paragraphs use the lion's share of the time. There may be another paragraph or two that takes up a moderate amount of time, but most paragraphs use a very small percentage of the total program time.

    Note that you may find very small paragraphs (like the EXIT paragraph) getting a very large number of counts (CALLs). Because the time spent counting each CALL is added to the paragraph time, it may appear that such paragraphs are taking a large amount of time, when in fact the behavior of the timer is artificially inflating the paragraph time.