Reducing the processor usage of code coverage collection

When you run your application with code coverage, there might be a significant increase in elapsed time and CPU time.

The following factors might affect the performance:
  • The number of program runs that are enabled for code coverage (programs compiled with the TEST compiler option)
  • The number of statements executed in the programs enabled for code coverage
  • CICS or non-CICS
  • On CICS, the number of EXEC CICS LINKs
  • Language Environment STACK initial size. Optimum performance occurs when the size of the initial stack segment is large enough so that there are no stack extensions.
To reduce the processor usage (overhead) of code coverage collection, you can use the following approaches to select which programs you want to collect code coverage information. The commands can be put in a preferences file.
  • Use the SET IGNORELINK ON command.
  • Use the SET EXPLICITDEBUG ON command and then specify an LDD command for each compile unit that you want to enable for code coverage.
  • Use the debugger NAMES command to select the modules and programs that you want to collect code coverage information by putting the commands in a preferences file or use EQAOPTS. For example, if you have an application where all the programs start with the letter A and B, and you only want to collect code coverage on programs with name A0001 and A0002, specify the following filters:
           NAMES EXCLUDE CU "A*";         
    
           NAMES EXCLUDE CU "B*";         
    
           NAMES INCLUDE CU ("A0001","A0002");