Created On:  11 October 2011


I am having problems clarifying the results from the Profiler.


The ACUCOBOL-GT profiler is a sampling profiler, which means that it wakes up at regular intervals, and attempts to figure out what is executing at that moment. As such, the numbers reported are very rough estimates. And we have found that paragraphs with only CALL statements are not particularily good for such sampling.

ECN 3441 offers more information about profiling, in particular a configuration variable that may allow more accurate profiling in some situations.
SUBJECT: Profiling COBOL on Windows

Change Number: ECN-3441

Status: Complete

Type of Change: Enhancement

Priority: Medium

Incidents: None

Date: 2006-04-05


Module: runtime

New Version: 8.0.0

Machines Affected: Windows

Known Versions Affected: All with profiling

DESCRIPTION of problem or enhancement:

The method we used to set a periodic timer on Windows (in order to profile COBOL programs) seems to return inconsistent results. A new method of profiling is now available via a configuration option.


There is a new config variable PROFILE-TYPE, which can take the values ASYNCH or COUNTER. When set to the default value of ASYNCH, the runtime does profiling the way it historically has.

When set to the value COUNTER, the runtime uses a new method of profiling which seems to give more accurate results for Windows. However, COBOL programs must be compiled with -Gd as well as -Gs in order to take advantage of this new method. This is because the new method uses the debugger to do its counting.

Note that this new method is also available on UNIX, and can be used if profiling your COBOL results in a message similar to "profile timer expired".
Incident #2529657