The report is divided into three sections:
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.
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.
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%.
TRP140 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.